Boa tarde pessoal, sou iniciante em SHELL
Estou criando alguns scripts SHELL para facilitar meu trabalho diário.
Então eu tenho meu .bash_aliases, observem que para o mesmo script trabalhar em mais de uma maquina com estrutura de pastas diferentes eu faço essa configuração de caminhos antes:
########## CAMIMHOS DE ACORDO COM O USERS ##########
usuario=$USER
case $usuario in
root|nomemaquina1)
caminho=/home/nomemaquina1/Projetos
#echo $caminho
;;
nomemaquina2)
caminho=/Users/nomemaquina2/desktop/docker
#echo $caminho
;;
esac
########## DOCKER ##########
alias irun='sudo bash "$caminho"/scripts/start-containers.sh'
Com isso a hora que eu executar $ irun vai executar meu script.
Até ai tudo bem, tudo funcionando, mas o problema que peço ajuda é para resolver a seguinte questão:
Todo script que eu criar eu preciso também usar essa variável $caminho, uma solução que eu achei foi passar esse código que determina o caminho de acordo com o usuário, mas isso não me parece certo pois em cada script eu preciso replicar o mesmo código. Para evitar ficar replicando o mesmo código eu pensei em colocar esse código dos caminhos em um arquivo chamado congif.sh:
######## DEFININDO OS CAMINHOS DE ACORDO COM O USER ########
usuario=$USER
case $usuario in
root|nomemaquina1)
caminho=/home/nomemaquina1/Projetos
#echo $caminho
;;
nomemaquina2)
caminho=/Users/nomemaquina2/desktop/docker
#echo $caminho
;;
esac
Depois chamar esse arquivo usando assim:
source config.sh
Porém eu esbarro no mesmo problema, em cada maquina o caminho para chegar nesse arquivo é diferente então eu preciso da variável $caminho para montar:
source "$caminho"/scripts/config.sh
Mas é claro que isso não vai funcionar sem eu ter o mesmo bloco de código que seta a variável $caminho. Dai retornei ao problema original rss.
Alguém tem uma ideia melhor de como resolver isso?