O ÚNICO site que não é um blog, alojado no blogger. É assim tipo um é pá... um..., um coijo...

quinta-feira, novembro 19, 2009

Como fazer condições if em bash

Esta deu-me um bocadinho de trabalho para reencontrar, portanto vou por aqui para nunca mais me esquecer.

Geralmente uso isto para testar o número de argumentos passados ao script bash:

if [ "$1" == "" ]; then
echo "usage: script.sh <first-arg>"
exit
fi

O problema surge quando há mais do que um argumento, essa é que não me lembrava como era:

if [ "$1" ="" ] || [ "$2"="" ] ; then
echo "usage: script.sh <first-arg> <second-arg>"
exit
fi

Ou seja, a operação OR é executada pelo operador || entre cada uma das expressões:
[ expr1 ] || [ expr2 ]

A operação AND é executada pelo operador &&, colocado entre expressões:
[ expr1 ] && [ expr2 ]

Pensando bem, é muito parecido com C. A única diferença é a colocação de parêntesis rectos, para o script não pensar que o que está lá dentro são comandos.

Sem comentários:

Enviar um comentário

eXTReMe Tracker