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

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

当我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

相关内容