Qual é a melhor maneira de executar um script ao entrar em um diretório?
Quando mudo para um novo diretório, gostaria que o bash execute o script projectSettings.bash, da mesma forma que o RVM.
bash
shell-script
cd-command
MageProspero
fonte
fonte
Respostas:
Você pode criar
cd
uma função (epop
epushd
) e detectá-la se inserir esse diretório específico.Não faça isso em diretórios que você não incluiu na lista de permissões, porque seria muito fácil para alguém induzi-lo a executar código arbitrário - envie um arquivo para você, descompacte-o, mude para o diretório que ele criou e você ' Agora, execute o código do invasor.
Eu não recomendo essa abordagem, porque significa que o script será executado mesmo se você entrar nesse diretório por algum motivo não relacionado ao trabalho no projeto. Sugiro ter uma função específica que mude para o diretório do projeto e origine o script de configurações.
fonte
cd
e existe, sem dúvida, uma maneira melhor. Mesmo usando $ PROMPT_COMMAND é melhor!if [ -z $MYSETTINGS ] ; then export MYSETTINGS=1 ; echo your settings here ; fi
. Isso é para evitar problemas, caso você faça algo do tipo PATH = / mytools / bin: $ PATH de inicialização.direnv pode ser o que você está procurando.
Aqui está um exemplo retirado da documentação oficial:
fonte