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
binem seu diretório pessoal emvseus scripts nele. - Altere todos os scripts para executáveis (
chmod +x). - Verifique se a variável de ambiente
PATHcontém o diretório$HOME/bin. Em alguns sistemas, o~/.profilepadrão adicionará seu diretório$HOME/binaoPATHautomaticamente, portanto, verifique seu~/.profileantes 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.