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

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

Re: [shell-script] comando which


From: Fernando Mercês
Subject: Re: [shell-script] comando which
Date: Thu, 19 Jul 2012 19:04:15 -0300

$ export alias la='ls' não faz sentido mesmo, visto que alias é um
comando e não o nome de uma variável que será exportada. ;)

O which serve para pegar o caminho, verificar se o programa está
instalado, onde está instalado etc. Não vejo sentido em usá-lo para
chamar um programa, pelos motivos que você já expôs.

Agora, usar o caminho completo num script serve para garantir que o
binário pretendido seja chamado e não outro com mesmo nome. Isso vai
depender da ordem dos diretórios no PATH. Ou seja, se a máquina tiver
um binário chamado ls em /usr/local/bin e outro em /usr/bin, o binário
que estiver no diretório que vem na frente no PATH é chamado.
Limitadamente representa alguma segurança, visto que binários
infectados podem ter nomes de binários convencionais para serem
executados, mas isso é muito relativo.

Abraços.

Att,

Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma
possibilidade de mudança é preciso mudar". (Elliot Gould)


2012/7/19 Alysson Gonçalves de Azevedo <address@hidden>:
> Bem, eu testei la um possível
> $ export alias la='ls'
> que não serviu para absolutamente nada (nem para os shells que eu chamei
> nem mesmo para o shell atual) xD
>
> De acordo com o site
> http://linux.about.com/library/cmd/blcmdl1_which.htm
>
> O which tem algumas opções para ler alias e etc, mas aqui no meu ubuntu, o
> which só aceita o argumento -a.
>
> Com isso, passo a acreditar que usar $(which programa) em vez de programa é
> apenas complicar o simples xD
>
>
> Alysson Gonçalves de Azevedo - (11) 8491-7730
>
> "É curioso como as pessoas ficam confusas quando a frase não terminam do
> jeito que elas periquito."
>
>
>
> Em 19 de julho de 2012 10:05, Emerson Domingues Souto - H2M <
> address@hidden> escreveu:
>
>> **
>>
>>
>> Fabio,
>>
>> Não entendi, o que é "alias de comando exportado na shell " ? E de que
>> forma o alias poderia interferir ?
>>
>> Emerson Domingues Souto
>>
>> > -----Mensagem original-----
>> > De: address@hidden [mailto:shell-
>> > address@hidden] Em nome de Fabio Gomes dos Santos
>> > Enviada em: quarta-feira, 18 de julho de 2012 22:19
>> > Para: address@hidden
>> > Assunto: Re: [shell-script] comando which
>>
>> >
>> > Acho que lendo sua pergunta entendi direito a duvida.
>> >
>> > Se você usa o path completo, você não fica sujeito a alias de comando
>> > exportado na shell que roda o script.
>> >
>> > Att:
>> >
>> > Em 18 de julho de 2012 22:02, Fabio Gomes dos Santos
>> > <address@hidden>escreveu:
>> >
>> > > Caso o binario esteja em um path diferente.
>> > >
>> > > Por exemplo:
>> > >
>> > > Você usa o ffmpeg, mas em uma distribuição ele foi compilado para
>> > > /usr/bin e em outro /bin.
>> > >
>> > > Mas aconselho o uso do "type -p" caso vá usar apenas bash.
>> > >
>> > > Att:
>> > >
>> > > Em 18 de julho de 2012 21:53, Alysson Gonçalves de Azevedo <
>> > > address@hidden> escreveu:
>> > >
>> > > **
>> > >>
>> > >>
>> > >> Aew pessoal, estava desenvolvendo um script aqui pra passar o tempo e
>> > >> então veio uma duvida.
>> > >>
>> > >> Pra que serve o comando "which" ?
>> > >> Por se ele percorre as pastas que estão na var $PATH e então retorna
>> > >> o caminho completo, não da no mesmo simplesmente invocar o programa
>> > >> diretamente?
>> > >> Digo, não é o mesmo se fizer:
>> > >>
>> > >> > var=$(which programa)
>> > >> > $var -argumentos
>> > >> >
>> > >> ou simplesmente usar
>> > >>
>> > >> > programa -argumentos
>> > >> >
>> > >>
>> > >> Estou errado? Se sim, qual seria o motivo de se usar isso?
>> > >>
>> > >> Alysson Gonçalves de Azevedo - (11) 8491-7730
>> > >>
>> > >> "É curioso como as pessoas ficam confusas quando a frase não terminam
>> > >> do jeito que elas periquito."
>> > >>
>> > >> [As partes desta mensagem que não continham texto foram removidas]
>> > >>
>> > >>
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Fábio Santos
>> > > address@hidden
>> > > <http://br.linkedin.com/pub/f%C3%A1bio-santos/1b/20/422>
>> > >
>> > >
>> >
>> >
>> > --
>> > Fábio Santos
>> > address@hidden
>> > <http://br.linkedin.com/pub/f%C3%A1bio-santos/1b/20/422>
>> >
>> >
>> > [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
>> > ----------------------------------------------------------
>> > Servidor Newsgroup da lista: news.gmane.org
>> > Grupo: gmane.org.user-groups.programming.shell.brazil
>> >
>> > Links do Yahoo! Grupos
>> >
>>
>>
>>
>
>
> [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
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>


reply via email to

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