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