Execute o script da home / bin que faz um comando de origem

0

Eu tenho um script, digamos "script1.sh", que chama source em outro script. Eu gostaria de ter o script1.sh na pasta ~/bin para que eu possa executá-lo de qualquer lugar sem ter que digitar o caminho completo.

Mas é claro que a execução não fará com que source seja executado conforme desejado.

Existe alguma maneira de contornar isso?

    
por Mike Dannyboy 23.06.2017 / 19:32

2 respostas

2

Olhando para o seu comentário sobre o outro script, eu suponho que você queira definir env vars em script2.sh e tê-los ainda válidos assim que o script1.sh terminar a execução.

Acho que a melhor resposta desta pergunta sobre stackoverflow lhe dará o que você está procurando:

link

    
por 23.06.2017 / 20:07
0

Olhando meus próprios scripts, duas variações baseadas em $0 sendo o nome totalmente resolvido do script invocado:

  1. Caso geral: obtenha o diretório do script atual e use-o para localizar o script de origem:

    . $(dirname $0)/sourcedscript
    
  2. Com convenções de nomenclatura adequadas (o script foobar pode ser personalizado editando um script foobar-setup :

    . $0-setup
    
por 23.06.2017 / 21:38