Lar*_*ara 2 zsh path shell-script
我最近决定将我的个人脚本移动到我的$HOME
. 我已将此目录包含在我的$PATH
变量中,但在尝试运行它们时,ZSH 以“未找到命令”响应。以下行是我附加的内容.xprofile
PATH="$PATH:~/.local/share/";export PATH
Run Code Online (Sandbox Code Playgroud)
我有一些脚本,~/.local/share/
但无法在 ZSH 中执行它们,但在 bash 中它运行良好。我曾尝试将上面的 live 添加到我的.zshrc
,但没有奏效。
~
不是变量,也不像变量。
Shell~
在引用时通常不会扩展。您可以在任何 shell 中使用$HOME
代替~
来确保您获得主目录的正确路径,而不依赖于 shell 对波浪号字符的特殊处理(这是一种主要用于交互式 shell 的快捷方式)。
$HOME
确实像您期望变量的行为一样,即当它使用双引号引用时,它会扩展到您的主目录的路径。
另外请注意,这是不可能的,PATH
是不是已经是一个环境变量。因此不需要导出它。
在zsh
shell 中,要添加~/.local/share
到命令搜索路径的末尾,您还可以执行
path+=~/.local/share
Run Code Online (Sandbox Code Playgroud)
或者
path+=$HOME/.local/share
Run Code Online (Sandbox Code Playgroud)
数组变量path
被捆绑到标量变量PATH
,这意味着在更新阵列path
如上,所添加的元素被添加到值的末尾$PATH
。