将bash脚本文件夹添加到路径?

Abe*_*Abe 16 bash environment-variables

我在应用程序文件夹中有一些 bash 脚本,我想使用它们,就好像它们在我的路径上一样。如果它们是直接的应用程序,我只需将目录添加到 ~/.bashrc,但这些是脚本。

例如:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh
Run Code Online (Sandbox Code Playgroud)

有没有设置路径的好方法,以便我可以从任何目录使用它们?

例如:

totally/different/path$ bash foo.sh
Run Code Online (Sandbox Code Playgroud)

Sev*_*Raz 22

是的,您可以将任何目录添加到系统路径。一种方法是更新 PATH(环境变量)定义。您可以.bashrc通过添加以下行在您的文件中执行此操作:

PATH="/your/script/dir:${PATH}"
export PATH
Run Code Online (Sandbox Code Playgroud)

我喜欢将我的脚本添加到$HOME/.local/bin/(这是一个隐藏目录),以便我的主目录保持清洁。

您的目录不会立即插入到 PATH 变量中,除非您运行source .bashrc.

您可以向路径添加多个目录,请记住这一点。如果您不理解代码,请查阅 BASH 文档。

前一种方法仅适用于您的用户。如果您需要为所有用户添加脚本目录,请执行bodhi.zazen并将您的脚本添加到/usr/local/bin.

  • 在覆盖系统脚本之前添加它 - 这意味着它可以很容易地替换并不总是好的 em。 (2认同)

Pan*_*her 9

IMO 最好的方法是将脚本添加到 ~/bin

mkdir ~/bin
Run Code Online (Sandbox Code Playgroud)

~/bin应该会自动添加到您的路径中。如果没有,请将其添加到~/.bashrc

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi
Run Code Online (Sandbox Code Playgroud)

如果您希望它们可供所有用户使用,请将它们添加到 /usr/local/bin


小智 5

另一种解决方案

  1. ~/.bashrc添加使用vim打开的路径$ vim ~/.bashrc

    例子:

    # add extra paths export PATH=$PATH:~/Scripts

  2. 添加路径后运行:

    $ source ~/.bashrc

  3. 如果添加正确的话应该不会有错误。