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


16

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

例如:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh

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

例如:

totally/different/path$ bash foo.sh

在授予exec权限并将其放入$ PATH后bash foo.sh,您将无法使用,而使用来完成此操作foo.sh
elias 2012年

Answers:


21

是的,您可以将任何目录添加到系统路径。一种方法是更新PATH(环境变量)定义。您可以.bashrc通过添加以下几行来做到这一点:

PATH="/your/script/dir:${PATH}"
export PATH

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

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

您可以在路径中添加多个目录,请记住。如果您不了解该代码,请查阅BASH文档。

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


在之前添加它会覆盖系统脚本-这意味着替换em可能很容易,但并非总是如此。
2015年

9

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

mkdir ~/bin

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

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi

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


在这种情况下,由于它是来自应用程序的脚本,因此建议将脚本的符号链接放在中~/bin,以提高可维护性。
elias 2012年

3

另一种解决方案

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

    例:

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

  2. 添加路径后,运行:

    $ source ~/.bashrc

  3. 如果正确添加,应该没有错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.