当我export $PATH
在 bash 中运行时,出现错误not a valid identifier
。为什么?
答案1
运行时export $PATH
将尝试导出一个名称等于价值的$PATH
(之后分词和文件名生成)。也就是说,它相当于编写类似export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
.由于/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
不是有效的变量名,因此失败。你想做的是export PATH
.
export
(相当于declare -x
不在函数内调用时)在 Bash 中将 shell 变量映射到环境变量,因此它被传递给从现在开始执行的命令(在子进程或其他进程中)。
要安全且可读地打印变量的值,请使用printf '%q\n' "$PATH"
或typeset -p PATH
打印其定义。
答案2
以下命令export $PATH=somePath
将返回not a valid identifier
,这是因为$
前面的PATH
变量。
解决方案:
export PATH=somePath
答案3
你应该这样使用它:
export PATH=$PATH:/something/bin
代替:
export $PATH=$PATH:/something/bin
只需删除$
左侧的标志即可。
答案4
您可能需要将 $PATH 附加到现有的 PATH 变量中?
export PATH=$PATH:/something/bin