[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Diretório de origem
From: |
Rodrigo G. M. Catto |
Subject: |
Re: [shell-script] Diretório de origem |
Date: |
Fri, 16 Jan 2009 15:59:23 -0200 |
Olá... é verdade...
Se você quer fazer alguma coisa que funcione em várias distros, você tem que
procurar o comando na sua forma mais restringida possível (no formato BSD).
um exemplo é:
O ssh... nós podemos usar:
$ ssh usuario@host -p 2332
ou
$ssh -p 2332 usuario@host
mas no BSD o formato aceito será sempre e somente:
$ ssh -p 2332 usuario@host
Assim garantimos que o comando será sempre executado corretamente.
Já o problema de um comando se portar de um modo em uma distribuição e em
outra distro de outro modo é devido ao alias que a distro deve usar do
comando:
por exemplo quando usamos o comando ls: e o output sai colorido é porque na
verdade foi executado o comando ls --color
é o que eu acho que deve ter acontecido com você Alain. o comando which deve
ser um alias ou deve estar sobre carregado por uma alias que já carregam
alguns paramentos por default.
Como assim sobrecarregado?!? tipo assim em sistemas que o ls não tem
output colorido
basta digitar o seguinte comando:
$ alias ls="ls --color"
Assim o ls terá output colorido (fora forças externas conspirando contra).
Abraços,
Rodrigo G. M. Catto
[image: DSF - Rodrigo Gilberto Marin Catto - Analista de TI - Telefone 67
3324-8811 Ramal 22]
2009/1/16 Alain M. <address@hidden>
> Salve Mestre!
>
> Julio C. Neves escreveu:
> > No ksh (e portanto muito portável) eu faço:
> > Dir=$(dirname(which prg.sh)) # só funciona se prg.sh estiver num dir do
> > $PATH
> > cd $Dir
> > Dir=$PWD
> > cd -
>
> 1) Antes de mais nada uns comentários e esclarecimentos sobre seu script:
> - Interessante a construção 'cd' / 'cd -', testei e funcionou em vários
> (Mandriva/Kubuntu/BusyBox) mas não está em nenhum manual, porque será???
> - o que vem a ser o comando '$PATH' sózinho?
> - a variávem $PWD também funcionou nos 3, isso é documentado?
> - ontem o comando 'pwd' estava fornecendo o path começando com ~/, nas
> hoje não consegui reproduzir, por isso estava usando o -P que não sei se
> é ok...
>
> 2) encontrei uma dica interessante, que funcionou nos 3:
> DIR=$(dirname $(readlink -f $0))
> você pode testar se é realmente portável? o comando parece ser BSD, o
> que costuma ser portável...
>
> Estou testando em 3 ambientes:
> Mandriva 2007.1 - bash 3.1.17(2)
> Kubuntu 8.04.1 - bash 3.2.39(1)
> Busybox+Arm9+Qemu - bash é um link para ash com várias melhorias de
> compatibilidade para bash
>
> Abraços,
> Alain
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>
--
Frase aleatória do e-mail:
Natalie Wood - "The only time a woman really succeeds in changing a man is
when he is a baby."
[As partes desta mensagem que não continham texto foram removidas]