[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] too many arguments
From: |
Eliphas Levy Theodoro |
Subject: |
Re: [shell-script] too many arguments |
Date: |
Tue, 22 Feb 2005 13:27:33 -0300 (BRT) |
Tia, @ 09:03:
> ~$ if [ -z `host merda.com |grep ''64.239.78.46'';` ];
Bom, um dos colegas já respondeu sua dúvida quanto a isso, mas para
adicionar ao tema, esse é um caso de "shell em excesso"...
Esse seu if poderia ser reescrito como:
if host merda.com | grep -qwF 64.239.78.46; then
...
fi
O -q do grep é o switch de "silêncio", ou seja, o grep não vai mostrar
nada. Como ao retornar ele devolve um código de erro, dizendo se achou
ou não, o if já vai lançar mão disso.
O -F é para não-regexes, ou seja, um grep sem expressões regulares. O
ponto não casa "qualquer caractere", como é o normal.
O -w é para casar palavras. Para ele não se enganar se aparecer algo
parecido, como 164.239.78.46
Outro caso que é beeem mais comum:
cat arquivo | grep "alguma coisa"
Ao invés de:
grep "alguma coisa" arquivo
[ ]'s,
--
Eliphas
[As partes desta mensagem que não continham texto foram removidas]