Запустить скрипт без ./ перед именем

Запустить скрипт без ./ перед именем

Я запускаю довольно сложный скрипт, который меняет каталоги и запускает много других команд. Все эти команды запускаются с использованием 'scriptname', что отлично работает, когда я запускаю основной скрипт из терминала. Однако иногда мне приходится подключаться по ssh к серверу и запускать основной скрипт оттуда, но это не получается, так как перед каждой командой нет ./.

Я бы предпочел не просматривать все скрипты и исполняемые файлы и не добавлять ./ к командам, так есть ли другой способ решить эту проблему?

решение1

Есть способы изменить это поведение, включая добавление ./в переменную окружения PATH, но это представляет серьезную угрозу безопасности для вашей среды. Способ написания ваших скриптов действительно неправильный, и правильным решением будет просмотреть их все и исправить способ вызова локальных скриптов. Это единственное правильное исправление, которое не создаст дополнительных проблем в будущем и проблем безопасности для вас. Я знаю, что это не то, что выв розыскеуслышать, но стиснуть зубы и сделать все правильно.

решение2

если ваши скрипты находятся в /opt/housekeeping/bin, я предлагаю вам добавить

export PATH=$PATH:/opt/housekeeping/bin  

в ваш .bash_profile или .profile или любой другой используемый вами скрипт входа и убедитесь, что для этих скриптов также установлены права доступа 755.

решение3

Вы можете создать псевдоним для своего скрипта:

alias scriptfile="./scriptfile"

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