У меня есть скрипт в /home/username/scripts и я хотел бы выполнить его, просто набрав его имя.

Я знаю, что мог бы сделать ' export PATH=$PATH:/home/username/scripts ', но я хотел бы получить тот же эффект без необходимости каждый раз экспортировать путь. Например, если бы у другого пользователя была копия сценария, он мог бы просто напечатать «scriptname.sh» вместо «./scriptname.sh».

1 ответ1

6

Либо поместите его в один из существующих каталогов в $PATH , либо определите псевдоним, который указывает на соответствующий путь.

cp scriptname.sh /usr/local/bin

...

alias scriptname.sh=/home/username/scripts/scriptname.sh

Последнее может быть сделано для каждого пользователя ~/.bashrc (для пользователей, которые в этом нуждаются). В качестве альтернативы вы можете добавить PATH в пользовательский ~/.bash_profile . Возможно изменение файла ~/.bash_profile по умолчанию в /etc/skel чтобы новые пользователи получали это автоматически.

Если скрипт должен быть доступен для всех пользователей, лучшим вариантом будет его копирование в общесистемную PATH , как упоминалось выше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .