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是不是已经是一个环境变量。因此不需要导出它。
在zshshell 中,要添加~/.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。