Сделать скрипт исполняемым только в определенных каталогах bash

#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.