Как лучше всего выполнить скрипт при входе в каталог?
Когда я перехожу в новый каталог, я бы хотел, чтобы bash выполнял сценарий projectSettings.bash так же, как это делает RVM.
bash
shell-script
cd-command
MageProspero
источник
источник
Ответы:
Вы можете создать
cd
функцию (иpop
иpushd
) и заставить ее обнаруживать, входите ли вы в этот конкретный каталог.Не делайте этого в каталогах, которые вы не включили в белый список, потому что вам будет очень легко обмануть вас при запуске произвольного кода - отправьте вам архив, чтобы вы распаковали его, перешли в созданный каталог и вы ' Теперь запустим код злоумышленника.
Я не рекомендую такой подход, потому что это означает, что скрипт будет выполнен, даже если вы войдете в этот каталог по какой-то причине, которая не связана с работой над проектом. Я предлагаю иметь определенную функцию, которая изменяет каталог проекта и использует сценарий настроек.
источник
cd
и, без сомнения, есть лучший способ. Даже использование $ PROMPT_COMMAND лучше!if [ -z $MYSETTINGS ] ; then export MYSETTINGS=1 ; echo your settings here ; fi
. Это позволяет избежать проблем в случае, если вы делаете что-то вроде инициализации PATH = / mytools / bin: $ PATH.direnv может быть то, что вы ищете.
Вот пример, взятый из официальной документации:
источник