У меня есть несколько скриптов bash в папке приложения, которые я хотел бы использовать, как если бы они были на моем пути. Если бы это были обычные приложения, я бы просто добавил каталог в ~ / .bashrc, но это скрипты.
Например:
~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh
Есть ли хороший способ настроить путь, чтобы я мог использовать их из любого каталога?
Например:
totally/different/path$ bash foo.sh
Да, вы можете добавить любой каталог в системный путь. Один из способов сделать это - обновить определение 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
другое решение
Добавьте путь к ~/.bashrc
open, используя vim $ vim ~/.bashrc
пример:
# add extra paths
export PATH=$PATH:~/Scripts
после добавления пути запустите:
$ source ~/.bashrc
При правильном добавлении не должно быть ошибок.