shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RESOLVIDO] Re: saber o local onde o script está gravado


From: Cristiano
Subject: [RESOLVIDO] Re: saber o local onde o script está gravado
Date: Sun, 17 Mar 2013 21:59:54 -0000
User-agent: eGroups-EW/0.82

PS: 

Antes que alguém se pergunte: qual o problema de usar o "recurso técnico".

Respondo:

1) Não funciona quando você chama o script de um sub-diretório do próprio 
diretório onde script está gravado (retorna ".."). Até dá considerar e tratar 
isso no teste, mas você teria que ficar navegando pela estrutura de diretórios 
e isso não é legal;

2) Se você fizer um symlink apontando para o script em outro diretório e 
executá-lo à partir dele, seja pelo endereço absoluto ou relativo, não tem 
"gambi" que resolva.




--- Em address@hidden, "Cristiano" <boxferrari@...> escreveu
>
> Bah! hoje é o dia das auto-respostas (http://bit.ly/1420ARm)
> 
> SCRIPT=$(readlink -f $0)
> SCRIPTPATH=$(dirname $SCRIPT)
> 
> Google em inglês funciona melhor que em português.
> 
> 
> --- Em address@hidden, "Cristiano" <boxferrari@> escreveu
> >
> > Salve Ilustres, boa tarde.
> > 
> > Senhores, preciso de alguma maneira de saber, dentro de um script, o 
> > endereço absoluto (à partir do raiz) do próprio script.
> > 
> > Já tentei usar o comando pwd, mas ele só funciona se o script foi executado 
> > de dentro do PROPRIO diretório (./script.sh, por exemplo). Se ele for 
> > chamado pelo endereço absoluto à partir de outro diretório, retorna o path 
> > do diretório à partir do qual foi executado.
> > 
> > Também tentei usar o parâmetro $0 combinado com o comando dirname. Mas aí o 
> > problema é ao inverso: Funciona quando se chama à partir de outro diretório 
> > mas não dá certo quando se chama o script à partir do mesmo diretório.
> > 
> > O "recurso técnico" foi usar a segunda opção e testar se o caminho recebido 
> > é igual a "." Se for, troca ele pelo resultado do pwd.
> > 
> > Alguém conhece uma solução que não envolva o teste?
> > 
> > Abraço
> > 
> > 
> > Cristiano Ferrari
> >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]