当我“导出 $PATH”时“不是有效的标识符”

Tha*_*eni 47 shell bash environment-variables

当我export $PATH在 bash 中运行时,出现错误not a valid identifier。为什么?

l0b*_*0b0 49

运行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 "$PATH".


小智 27

以下命令export $PATH=somePath将返回not a valid identifier,这是因为变量$之前PATH

解决方案:

export PATH=somePath


小智 7

你应该这样使用它:

export PATH=$PATH:/something/bin
Run Code Online (Sandbox Code Playgroud)

代替:

export $PATH=$PATH:/something/bin
Run Code Online (Sandbox Code Playgroud)

只需删除$左侧的标志即可。