Список директорий, в которых оболочка bash должна выполнять поиск команд, указан в переменной окружения оболочки, называемой PATH. Для просмотра вашего пути введите следующее:
admin@serverl:~$ echo SPATH /bin:/usr/bin
Linux резервирует специальные имена:. — для текущей директории и .. — для ее родительской директории. Если вы хотите, чтобы система всегда находила команды, подобные hello, в вашей текущей директории, добавьте эту директорию в PATH:
admi n@serverl:J PATH=$PATH:.
Чтобы внести изменения одним действием, вы должны внести необратимые изменения в свою переменную PATH. Это может быть сделано одиночным пользователем в файле . bashrc, расположенном в его домашней директории, или системным администратором в стартовом файле, оказывающем действие на всю систему (обычно расположенном в директории /etc). Просто добавьте задачу в файл, как показанную только что команду.
В качестве альтернативы можете переместить сценарий hell о в одну из директорий, уже находящихся в PATH. Однако эти директории обычно защищены, поэтому только rootпользователь может поместить туда эти файлы, что делается из соображений безопасности.
Для сценария сложнее, чем hello (это практически любой сценарий), этот метод также имеет смысл. Если . находится в вашей PATH, вы подвержены риску, что ктото еще поместит свой сценарий с таким же названием в другой директории. Перепутав директории и напечатав hel 1 о, вы выполните файл другого пользователя, а не тот, который имели в виду.
Корректность сценария также имеет значение. Мы определенно знаем, что сейчас делает ваш сценарий hel 1 о, но после добавления ста строк мы не сможем быть так уверены.
Лучше всего помещать собственные сценарии в директорию вида /usr/local/ bin или частную /bin, а не в системные директории /bin, /sbin или /usr/bin. Для добавления этой директории к вашей переменной PATH введите строку, подобную следующей, в конце своего файла .bashrc:
export РАТН=$РАТН:/usr/1 ocal /bi n
iphone 4s i-pico projector