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

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

Re: [shell-script] Achar diretório do Script


From: Alain
Subject: Re: [shell-script] Achar diretório do Script
Date: Tue, 06 Dec 2005 16:41:59 -0200
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050716)

É mais enrrolado do que eu pensava...

Fiz uns testes com a sugestão do Emerson, simplifiquei um pouco para isto:
DIR=$(dirname $(which $0))
Mas será que vai funcionar sempre?

A solução do Julio é ok, mas tenho um certo receio de mudar de diretório e alguma coisa dar errado no meio.

Outra alternativa seria reformular o problema: eu só pretendo é executar um outro script que está no mesmo diretório... será que isto resolve:
NOVO=$(dirname $0)/script2.sh
???

Agradeço a atenção,
Alain

Julio C. Neves escreveu:
Alain,
o cmd dirname te devolve o caminho relativo. Entao uma forma de resolver isso eh:
cd $(dirname $0)
pwd
cd -

[ ]s,
Julio
:wq

Alain wrote:


Como eu acho em que diretório está o script atual? Eu sei que $0 tem o nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome mas eu quero só o diretório. Exemplo

$0 é /opt/bin/firefox.sh
eu quero /opt/bin

Assim eu posso chamer o outro script firefoxrun.sh que está no mesmo diretório, mesmo se mudarem ele de lugar.

grato,
Alain

Tiago Barcellos Peczenyj escreveu:



O que é mais formal:

[ "${1}" ] || { echo "usage: $(basename $0) parametro" ; exit 1; }

ou

if [ "${1}" ]
then echo "usage..."
exit 1
fi

geralmente eu gosto da primeira notação, é mais sucinta. mas ela possui
algum tipo de problema, digamos, alguma incompatibilidade com outros shells,
ou tem alguma sutileza que a forma if then fi não possui ?

As duas funcionam, entretanto.
Em 06/12/05, Fernando Lemes da Silva <address@hidden> escreveu:


Não querendo contribuir com o flame, mas sim com o propósito de se
escrever
um bom código, eu considero sim uma boa prática proteger conteúdo de
variáveis, definir bem o que é uma variável (${VAR})..

Além ter tornar as coisas mais fáceis de ler, depois que voce precisar
olhar de novo o mesmo código, isto poderia previnir que numa alteração
futura
do script o mesmo parasse de funcionar porque não foi cogitado que alguma
variável poderia ter espaços um dia (exemplo)...

[]'s

--
/**********************************************
     _     Fernando Lemes da Silva
    °v°    www.koho.com.br
   /(¡)\   Linux user #address@hidden
    ^ ^    lICQ UIN 2371843
echo 396752965710071000896145190854552842P | dc
**********************************************/

Em Seg 05 Dez 2005 20:44, Herbert Alexander Faleiros escreveu:


On Monday 05 December 2005 11:43, Emerson Domingues Souto wrote:


o colega Herbert parece não prestar muita atenção a essas práticas

Se querem gerar código redundante/desnecessário é com vocês.
Por que eu aplicaria algo desnecessáriamente se sei o que estou fazendo?
E igual aquela história de executar rm -rf para qualquer coisa ou dizer

que


sei que algo é um diretório porque apareceu "azul" aqui no meu terminal.
Putz, isso já tá virando flame (fico por aqui)...

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------



*Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE

<http://br.rd.yahoo.com/SIG=12f8o68ob/M=384888.7585449.8468440.1588051/D=brclubs/S=2137111254:HM/Y=BR/EXP=1133844006/A=3154525/R=0/SIG=12igfl26t/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE>
------------------------------
*Links do Yahoo! Grupos*

- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/

- Para sair deste grupo, envie um e-mail para:
address@hidden<address@hidden?subject=Unsubscribe>

- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.



[As partes desta mensagem que não continham texto foram removidas]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------

Links do Yahoo! Grupos











---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------

Links do Yahoo! Grupos













---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos









reply via email to

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