|
From: | Vinicius Costa Carvalho |
Subject: | Re: [shell-script] Pegar o diretório onde está o script |
Date: | Thu, 9 Aug 2018 11:33:06 -0300 |
Dentro de um script, quando eu quero pegar o diretório onde meu script está, normalmente eu uso isto:Raul e Luiz Carlos, obrigado pelas respostas!Acho que não me expressei bem. Vou exemplificar melhor:
dir="$(dirname $(readlink -e $0))"se ele estiver sendo executado dentro de /tmp/teste/meuscript.sh, a variável $dir terá o seguinte conteúdo:'/tmp/teste'independente de qual diretório estou para chamar o meu script.Se eu estiver em '/home/tiago' e executar '/tmp/teste/meuscript.sh' o valor de $dir não mudaa variável do sistema $PWD e o comando pwd retornam o diretório onde meu usuário está, ou seja, '/home/tiago'O problema dos comandos dirname e readlink é que não são internos do bash e portando mais demorados para executá-los.O "capricho" que eu quero é o bash, de alguma forma, me retornar este mesmo valor de $dir citado acimaEm 9 de agosto de 2018 11:01, Raul Libório address@hidden [shell-script] <address@hidden.br > escreveu:Não sei se entendi bem, mas a variável PWD mostra qual o seu diretório corrente.Então, se no começo do script, você entrar no mesmo diretório que ele está e depois extrair o valor de PWD, vai ter o caminho do script. Deu pra entender?root@jxqe:/var/www# echo $PWD
/var/www
root@jxqe:/var/www# cd /tmp
root@jxqe:/tmp# echo $PWD
/tmp--Em qui, 9 de ago de 2018 às 10:37, Tiago Tarifa Munhoz address@hidden [shell-script] <address@hidden..br > escreveu:Eu pesquisei porcamente no manual do Bash e não achei nada. E no meu ambiente o readlink e dirname são comandos externos.Porém precisa de 2 subshells para coletar algo que considero simples para o Bash coletar.dir="$(dirname $(readlink -e $0))"Eu vi outro que resolve:Porém se eu chamar o script no diretório onde está o script ele retorna '.'dir="$(dirname $0)"Eu vejo muito scripts usando desta forma:Pessoal,Alguém sabe como pegar o diretório onde está o script sem usar comandos externos, ou seja, usando apenas o bash.Raul Libório
http://rauhmaru.blogspot.com/
openSUSE Member | Linux User #4444581
/etc/httpd/conf.d/ssl.conf:7
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
--Vinicius Costa Carvalho"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."Isaac Newton
[Prev in Thread] Current Thread [Next in Thread]
- Pegar o diretório onde está o script, Tiago Tarifa Munhoz, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Maik Alberto, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Raul Libório, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Vinicius Costa Carvalho, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Tiago Tarifa Munhoz, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Vinicius Costa Carvalho <=
- Re: [shell-script] Pegar o diretório onde está o script, Luiz Carlos Maciel Junior, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Luiz Carlos Maciel Junior, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Maik Alberto, 2018/08/09
- Re: [shell-script] Pegar o diretório onde está o script, Luiz Carlos Maciel Junior, 2018/08/09
- Re: Pegar o diretório onde está o script, Tiago Tarifa Munhoz, 2018/08/09
- Re: [shell-script] Re: Pegar o diretório onde está o script, Maik Alberto, 2018/08/09
- Re: [shell-script] Re: Pegar o diretório onde está o script, Rogerio Batista, 2018/08/09
- Prev by Date: Re: [shell-script] Pegar o diretório onde está o script
- Next by Date: Re: [shell-script] Pegar o diretório onde está o script
- Previous by thread: Re: [shell-script] Pegar o diretório onde está o script
- Next by thread: Re: [shell-script] Pegar o diretório onde está o script
- Index(es):