Можно ли сделать так, чтобы не пришлось указывать путь к скрипту, а просто написать его название в терминале и он вызывался?
Пример
Сейчас надо делать так:
sh home/user/test.sh
Хочу вызывать так:
test
Ответ
довольно удобным решением может быть создание каталога с именем, например, bin, внутри своего домашнего каталога:
$ mkdir ~/bin
чтобы можно было запускать исполняемые файлы из этого каталога по имени, достаточно добавить путь к нему в переменную окружения $PATH
export PATH=~/bin:$PATH
эту команду, чтобы не выполнять её в каждом экземпляре оболочки вручную, можно дописать в конец вашего персонального инициализационного файла оболочки, который носит название .shellrc, где shell — имя используемой вами оболочки (его можно узнать, например, командой echo $SHELL). для bash это будет:
~/.bashrc
для zsh
~/.zshrc
и т.п.
стоит заметить, что довольно часто производить последнюю манипуляцию нет необходимости: при наличии каталога ~/bin инициализационные скрипты оболочки автоматически добавят его в переменную окружения $PATH (см., например, содержимое файла ~/.profile). проверить просто: создайте каталог, запустите новый процесс оболочки и проверьте содержимое переменной (echo $PATH).
нужный вам файл надо скопировать в этот каталог под желаемым именем (имя test, кстати, не совсем удачное, так как совпадает с именем встроенной команды оболочки):
$ cp ~/test.sh ~/bin/test
и присвоить бит исполнимости:
$ chmod +x ~/bin/test
в случае, если это скрипт, требующий обработки каким-нибудь интерпретатором (в вашем случае интерпретатором /bin/sh), то первой строкой скрипта должен быть так называемый shebang, содержащий полный путь к программе-интерпретатору:
#!/bin/sh
Комментариев нет:
Отправить комментарий