#bash #alias
#bash #псевдоним
Вопрос:
У меня есть следующая структура моей программы
cd programme1
ls
> input/ output/ scripts/
В папке scripts есть скрипт bash с именем: submit
submit принимает входной файл в качестве первого аргумента и создает выходной файл, указанный в качестве второго аргумента.
Я сконструировал его так, что этот скрипт можно вызвать из любого места. Например, я могу вызвать его следующим образом из текущей папки: programme1
scripts/submit test_in test_out
Однако я нахожу это немного недружелюбным для пользователей. Т. Е. я хотел бы, чтобы скрипт можно было вызывать следующим образом:
submit test_in test_out
до тех пор, пока пользователь находится в любом подкаталоге основной папки programme1. Если пользователь вызывает submit извне программы1, ничего не должно произойти:
cd ..
submit test_in test_out
> submit: Command not found.
Возможно ли это вообще?
Комментарии:
1. Пользователю необходимо включить каталог scripts в свой
PATH
, или ему нужно скопировать или символически связать его где-то уже внутриPATH
.2. у @jordanm есть правильный ответ. Если это для нескольких пользователей, я бы выбрал идею символической ссылки. В противном случае каждый должен добавить этот каталог в свой path.