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: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Achar diretório do Script
Date: Tue, 6 Dec 2005 13:17:32 -0200

isso ja foi abordado aqui. que eu lembre vc tem duas opções.

1) se vc der o caminho completo, a solução é fazer $(dirname $0)
2) se vc executa o script e ele está em algum diretorio, vc tem que usar o
which para encontra-lo

uma forma pratica,

#!/bin/bash
DIR=$(which $0 2>&- || dirname $0)
echo "O Script $(basename $0) esta em '${DIR}'"

Espero que ajude.

[]s Tiago
2005/12/6, Alain <address@hidden>:
>
>  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
> ---------------------------------------------------------------------
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>
> <http://br.rd.yahoo.com/SIG=12fgv5oe0/M=384888.7585449.8468440.1588051/D=brclubs/S=2137111254:HM/Y=BR/EXP=1133884717/A=3154524/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]



reply via email to

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