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

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

например:

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

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

например:

totally/different/path$ bash foo.sh

3 ответа

Решение

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

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

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

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

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

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

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

mkdir ~/bin

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

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

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

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

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

    пример:

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

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

    $ source ~/.bashrc

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

Другие вопросы по тегам