Добавить папку сценария 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
Другое решение
Добавить путь к
~/.bashrc
открыть с помощью vim$ vim ~/.bashrc
пример:
# add extra paths export PATH=$PATH:~/Scripts
После добавления пути запустите:
$ source ~/.bashrc
При правильном добавлении не должно быть ошибок.