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 <[EMAIL PROTECTED]>:
> > 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 <[EMAIL PROTECTED]<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]
