Apenas usando o no-op :
if [ -n "$1" ]; then
:
else
echo 555
fi
exit
ou inverta a lógica:
if [ -z "$1" ]; then
echo 555
fi
exit
#intro
if [ -n "$1" ]
then
echo 666
else
echo 555
fi
exit;
Na verdade eu quero echo 555
enquanto não quero fazer nada no primeiro bloco, o que devo fazer? Percebi que não posso simplesmente remover echo 666
.
Apenas usando o no-op :
if [ -n "$1" ]; then
:
else
echo 555
fi
exit
ou inverta a lógica:
if [ -z "$1" ]; then
echo 555
fi
exit
[ -n "$1" ] && echo "666" <= For if part
[ -n "$1" ] || echo "555" <= For else part
Você pode inverter uma instrução if usando !
(isso é chamado de operador 'not', o que significa ter o oposto do resultado) dentro da condicional. Então, [ -n "$1" ]
se torna: [ ! -n "$1" ]
, que é o mesmo que a seção else
.
Também é válido usar a opção -z
em vez de -n
, que é logicamente inversa para -n
, mas como regra geral, o !
sempre corresponderá a qualquer outra seção correspondente.
Tags shell