Interativamente, você sempre pode executar seus scripts digitando ~/yourscript.sh
na linha de comando, mas isso é muito limitante, especialmente se você quiser escrever mais scripts que chamam os scripts que você já escreveu.
Uma abordagem mais integrada e flexível envolve colocar todos os seus scripts em um diretório e adicionar esse diretório à sua variável de ambiente PATH
.
Depois de fazer isso, você poderá digitar yourscript.sh
, e não importa em qual diretório você esteja, o shell irá encontrar seu script e executá-lo.
É assim que geralmente é feito:
- Crie um diretório
bin
em seu diretório pessoal emv
seus scripts nele. - Altere todos os scripts para executáveis (
chmod +x
). - Verifique se a variável de ambiente
PATH
contém o diretório$HOME/bin
. Em alguns sistemas, o~/.profile
padrão adicionará seu diretório$HOME/bin
aoPATH
automaticamente, portanto, verifique seu~/.profile
antes de modificá-lo.
Deixe-me ilustrar com algum script:
mkdir ~/bin
mv ~/*.sh ~/bin
chmod +x ~/bin/*
if ! grep 'PATH=.*HOME/bin' ~/.profile
then
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.profile
fi
. ~/.profile
echo "$PATH" # you should see your bin directory
cd /tmp # change to another random directory
type myscript.sh # see if the shell finds your scripts
Se você vir seu diretório bin
no seu PATH
, é uma boa ideia sair, fazer login novamente e mudar para outro diretório e executar type yourscript.sh
novamente para garantir que tudo esteja configurado corretamente.