[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]
- Re: [shell-script] Shell email, (continued)
- Re: [shell-script] Shell email, Herbert Alexander Faleiros, 2005/12/01
- Re: [shell-script] Shell email, Emerson Domingues Souto, 2005/12/02
- Re: [shell-script] Shell email, Herbert Alexander Faleiros, 2005/12/02
- Re: [shell-script] Shell email, Reinaldo Carvalho, 2005/12/02
- Re: [shell-script] Shell email, Emerson Domingues Souto, 2005/12/05
- Re: [shell-script] Shell email, Herbert Alexander Faleiros, 2005/12/05
- "Formalismo" em scripts?, Fernando Lemes da Silva, 2005/12/05
- Re: [shell-script] "Formalismo" em scripts?, Tiago Barcellos Peczenyj, 2005/12/05
- Achar diretório do Script, Alain, 2005/12/06
- Re: [shell-script] Achar diretório do Script, Emerson Domingues Souto, 2005/12/06
- Re: [shell-script] Achar diretório do Script,
Tiago Barcellos Peczenyj <=
- Re: [shell-script] Achar diretório do Script, Julio C. Neves, 2005/12/06
- Re: [shell-script] Achar diretório do Script, Alain, 2005/12/06
- Re: [shell-script] Achar diretório do Script, Gabriel Gilini, 2005/12/06
- Re: [shell-script] "Formalismo" em scripts?, Fernando Lemes da Silva, 2005/12/07
- Re: [shell-script] "Formalismo" em scripts?, Fabricio Lopes de Souza, 2005/12/07
- Re: [shell-script] Shell email, Rodrigo Monteiro, 2005/12/06