设想
我在 GitHub 上有一个 ProductivityScripts 项目,当我安装 Linux (Debian 9) 时,我将此文件夹添加到PATH
以方便使用。
即,我将以下行添加到~/.bashrc
:
export PATH="~/Dev/ProductivityScripts:$PATH"
Run Code Online (Sandbox Code Playgroud)
有用。我现在可以从任何地方按名称从该文件夹内运行脚本。
alec@my_host:~$ capsalt
SUCCESS!
Run Code Online (Sandbox Code Playgroud)
但是,如果我输入,则which capsalt
没有输出。
which
大多数事情都有效。
alec@my_host:~$ which git
/usr/bin/git
Run Code Online (Sandbox Code Playgroud)
题
不应该which
也跟踪手动添加到 PATH 的位置可用的脚本吗?或者还有其他原因导致这不起作用?
这很可能是由于~
没有充当双引号内的变量,并且which
没有对波浪号进行自己的扩展。
用
PATH="$HOME/Dev/ProductivityScripts:$PATH"
Run Code Online (Sandbox Code Playgroud)
反而。HOME
是一个环境变量,并像往常一样在双引号内展开。另请注意,由于PATH
已经导出,因此不需要再次导出(通过它不会造成伤害)。
有关波浪号的更多信息:为什么波浪号 (~) 不在双引号内展开?