Добавить папку сценария bash в путь?


16

У меня есть несколько скриптов bash в папке приложения, которые я хотел бы использовать, как если бы они были на моем пути. Если бы это были обычные приложения, я бы просто добавил каталог в ~ / .bashrc, но это скрипты.

например:

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

Есть ли хороший способ настроить путь, чтобы я мог использовать их из любого каталога?

например:

totally/different/path$ bash foo.sh

Вы не сможете сделать это с bash foo.sh, но с foo.sh, после предоставления разрешения exec и помещения их в $ PATH.
Элиас

Ответы:


21

Да, вы можете добавить любой каталог в системный путь. Один из способов сделать это - обновить определение PATH (переменной среды). Вы можете сделать это в своем .bashrc, добавив следующие строки:

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

Мне нравится добавлять свои скрипты в $HOME/.local/bin/(который является скрытым каталогом), чтобы мой домашний каталог оставался чистым.

Ваш каталог не будет вставлен в переменную PATH сразу, если вы не запустите source .bashrc.

Вы можете добавить несколько каталогов к пути, запомните это. Пожалуйста, обратитесь к документации BASH, если вы не понимаете код.

Предыдущий метод будет работать только для вашего пользователя. Если вам нужно добавить каталог скриптов для всех пользователей, сделайте как bodhi.zazen и добавьте свои скрипты в /usr/local/bin.


Добавление его до того, как оно отменяет системные скрипты, означает, что их легко заменить, что не всегда хорошо.
Уилф

9

IMO лучший способ это добавить скрипты в ~ / bin

mkdir ~/bin

~/binдолжен автоматически добавляться к вашему пути. Если нет, добавьте это в~/.bashrc

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

Если вы хотите, чтобы они были доступны для всех пользователей, добавьте их в /usr/local/bin


В этом случае, поскольку это сценарии из приложений, я бы посоветовал поместить символические ссылки для сценариев в ~/bin, для лучшей поддержки.
Элиас

3

другое решение

  1. Добавить путь, чтобы ~/.bashrcоткрыть с помощью vim$ vim ~/.bashrc

    пример:

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

  2. После добавления пути запустите:

    $ source ~/.bashrc

  3. При правильном добавлении не должно быть ошибок.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.