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

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

Re: [shell-script]


From: Guilherme Gall
Subject: Re: [shell-script]
Date: Mon, 14 Jul 2008 19:50:41 -0300

Saudações Julio,

O here strings é portável? Digo, esse recurso está disponível em
outros shells como o korn ou csh?

[]'s

Guilherme M Gall

2008/7/14 Julio C. Neves <address@hidden>:
> Fala Marlon,
> A sua dúvida (<<<) chama-se here strings e está super bem explicada (em
> português) em
> http://twiki.softwarelivre.org/TWikiBar/TWikiBarBirinaite#Here_Strings
> --
> Abraços,
> Julio
> *Em setembro estarei dando um treinamento
> Shell em Brasília (em 2 fins de semana).
> Mais informações: www.tecnologiabr.com.br
> Tel: (61) 3354-3162
> *
> 2008/7/13 Marlon Vagner Reck <address@hidden>:
>
>>
>> Obrigado a todos
>>
>> A parte do && e do grep -qs eu tinha entendido, minha dúvida é como ele
>> conseguiu fazer o grep procurar uma palvra dentro de outra sem esta estar
>> em
>> um arquivo e sim em uma váriavel ou no final de um comando mas com a ajuda
>> do
>> Julio C. Neves eu entendi, agora o que me perturba é o comando do Julio (
>> rindo de mim mesmo por não entender os comandos ):
>>
>> grep -qs $1 <<< "$2" && echo "$1 está contida em $2"
>>
>> a parte que não entendi é o que os " <<< " fazem de diferente de apenas um
>> "
>> < " , as váriaveis não estão todas no mesmo shell ?
>>
>> Em Sunday 13 July 2008 21:18:51 Julio C. Neves escreveu:
>>
>> > Fala Marlon,
>> > a opção -q (quiet) do grep serve para não jogar na stdout a linha em que
>> > existia a cadeia
>> >
>> > $ grep ^root /etc/passwd && echo achei
>> > root:x:0:0:root:/root:/bin/bash
>> > achei
>> > $ grep -q ^root /etc/passwd && echo achei
>> > achei
>> >
>> > a opção -s é para não mandar erro para a saída caso vc não tenha direito
>> de
>> > leitura ou o arquivo não exista (o grep não dá erro qdo não encontra a
>> > cadeia pesquisada). Veja:
>> >
>> > $ grep julio nãoexiste
>> > grep: nãoexiste: Arquivo ou diretório inexistente
>> > $ grep -s julio nãoexiste
>> > $
>> >
>> > Então a opção -qs significa silêncio total e stdout e stderr. Experimente
>> > tb fazer assim:
>> >
>> > # passando parâmetros para o shell corrente
>> > $ set - ana banana
>> > # Será que funcionou?
>> > $ echo $0
>> > bash
>> > $ echo $1
>> > ana
>> > $ echo $2
>> > banana
>> > # Blz! Então vamos ao que interessa
>> > $ grep -qs $1 <<< "$2" && echo "$1 está contida em $2"
>> > ana está contida em banana
>> >
>> > Assim vc escreve menos e é um pouquinho mais rápido pq não tem pipe para
>> > fazer fork do shell
>> > --
>> > Abraços,
>> > Julio
>> > Em setembro estarei dando um treinamento
>> > Shell em Brasília (em 2 fins de semana).
>> > Mais informações: www.tecnologiabr.com.br
>> > Tel: (61) 3354-3162
>> >
>> > 2008/7/13 Marlon Vagner Reck <address@hidden<marlon_mca%40yahoo.com.br>
>> >:
>> > > Amigos
>> > >
>> > > Comprei o livro "Shell script profissional " do Aurélio ( muito bom por
>> > > sinal)
>> > > e me deparei com a seguinte linha:
>> > >
>> > > echo $2 | grep -qs $1 && echo "$1 está contida em $2"
>> > >
>> > > que pesquisa dentro de uma palavra a existência de outra, exemplo ana
>> > > dentro
>> > > de banana. Só que eu não consegui entender de o funcionamento dela, o
>> > > echo mostra a váriavel 2 digamos "banana" e joga no sub-shell para que
>> o
>> > > grep pesquise a váriavel 1 digamos "ana" dentro da palavra "banana",
>> qual
>> > > a mecânica da coisa a lógica?
>> > >
>> > > Obrigado a todos
>> > > Marlon
>>
>>
>>
>
>
>
> --
> Abraços,
> Julio
> Em setembro estarei dando um treinamento
> Shell em Brasília (em 2 fins de semana).
> Mais informações: www.tecnologiabr.com.br
> Tel: (61) 3354-3162
>
>
> [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]