将单个二进制文件添加到 PATH

将单个二进制文件添加到 PATH

也许这是一个 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

相关内容