Есть ли способ создать оболочку командной строки для bash-файла?

Есть ли способ создать оболочку командной строки для bash-файла?

Название говорит само за себя. Я бы хотел ввести "run" в командной строке, и это выполнит /pathtoscript/script.sh.
Спасибо!

решение1

Создайте файл с именем runи содержимым:

#!/bin/sh
exec /pathtoscript/script.sh "$@"

Поместите файл в указанный вами путь и установите бит исполнения.

Что такое «твой путь»?

В командной строке введите:

echo $PATH

Вы увидите список каталогов, разделенных двоеточием. Это каталоги, которые оболочка ищет при поиске команды для запуска. Они вместе называются путем. Вам нужно будет поместить ваш новый файл runв любой из этих каталогов.

Альтернативный подход к интерактивной работе

Если вы просто хотите runработать в интерактивном режиме, вы можете создать псевдоним:

alias run=/pathtoscript/script.sh

Если вы хотите сохранить этот псевдоним навсегда, поместите эту строку в файл .bashrcв вашем домашнем каталоге.

решение2

В оболочках *nix это делается путем добавлениязапускаемый файл(или символическая ссылка на исполняемый файл) на один изкаталогиперечислены впеременнаяPATH. Из гипотетического сеанса:

$ which foo
which: no foo in (/usr/local/sbin:/usr/local/bin:/usr/bin)
$ foo
bash: foo: command not found
$ echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/bin
$ sudo ln -s /path/to/my/script /usr/local/bin/foo
$ foo
[whatever your script prints]

Связанный контент