![将单个二进制文件添加到 PATH](https://linux22.com/image/180912/%E5%B0%86%E5%8D%95%E4%B8%AA%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E6%B7%BB%E5%8A%A0%E5%88%B0%20PATH.png)
也许这是一个 WSL 问题,在这种情况下我不知道该问哪里。
我有一个二进制文件想要添加到 path ~/.scry/bin/scry
。所以我去~/.bashrc
添加了
export PATH="$HOME/.scry/bin/scry:$PATH"
我不想添加该文件夹的原因是因为~/.scry/bin
我的路径中有一些我不想要的其他二进制文件。
我这样做了然后运行:
~$ . .bashrc
但是当我运行scry
(二进制文件)时出现command not found
错误。我尝试重新启动控制台(Ctrl+ D)并再次打开它(debian)。但它仍然无法识别该命令。
我不确定如何继续,请帮忙。
答案1
hash -p "$HOME"/.scry/bin/scry scry
将以上内容添加到您的.bashrc
文件中将告诉您的交互式 shellscry
位于"$HOME"/.scry/bin/scry
.
执行类似操作的其他方法包括创建别名
alias scry="$HOME"/.scry/bin/scry
或 shell 函数
scry () {
"$HOME"/.scry/bin/scry "$@"
}
该PATH
变量包含一个:
- 分隔的列表目录当给出尚未使用的命令时将搜索该命令。因此,将实用程序的路径名添加到PATH
变量实际上不会执行任何操作。
答案2
这是行不通的——来自的路径PATH
将被视为要添加到命令之前的目录,无论它们是可执行文件还是任何其他类型的文件。
一个简单的解决方案是在其他地方创建一个目录,在那里创建一个指向二进制文件的符号链接,然后将该目录添加到PATH
:
mkdir ~/my-bin
ln -s ~/.scry/bin/scry ~/my-bin
PATH=$PATH:~/my-bin