Recomendamos altamente
Você deve ler esta resposta maravilhosa para obter mais detalhes.
A configuração IFS
contains digit pode quebrar seu código:
$ IFS=0
$ echo test
$ [ $? -eq 0 ] && echo done
bash: [: : integer expression expected
Alguns shells podem herdar IFS
do ambiente ( dash
, ash
), outros não ( bash
, zsh
, ksh
). Mas alguém pode controlar o ambiente, seu script será interrompido de qualquer maneira ( $#
, $!
também são afetados).
Uma observação, no seu exemplo, você usou o novo teste [[...]]
, então a divisão do campo está desativada, não é necessário citar neste caso. Será importante se você usar o teste antigo [...]
.
$ IFS=0
$ echo test
$ [[ $? -eq 0 ]] && echo done
done