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

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

Re: [shell-script]


From: Julio C. Neves
Subject: Re: [shell-script]
Date: Mon, 14 Jul 2008 19:43:36 -0300

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]



reply via email to

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