if condição if condição then comandos then comandos1 fi else comandos2 fi
if cond1 case str in then comandos1 padrão1) elif cond2 comandos1 comandos2 ;; else comandos3 ... fi padrãon) comandosn ;; *) comandos ;; esac
-s arq Arquivo não está vazio -r arq Arquivo pode ser lido -w arq Arquivo pode ser escrito -x arq Arquivo é executável -f arq Arquivo existe e é normal -d arq Arquivo é um diretório -c arq Arquivo é especial (caracter) -b arq Arquivo é especial (bloco) -p arq Arquivo é um pipe nomeado -u arq Arquivo é SUID -g arq Arquivo é SGID
-z str String vazia str String vazia -n str String não vazia str1 = str2 Igualdade str1 != str2 Desigualdade
i1 -eq i2 Igualdade i1 -ne i2 Desigualdade i1 -gt i2 Maior i1 -ge i2 Maior ou igual i1 -lt i2 Menor i1 -le i2 Menor ou igual
true Verdadeiro false Falso ! cond Negação c1 -a c2 Conjunção c1 -o c2 Disjunção
[ "$1" = "la" ] [ $1xyz = stringxyz ] [ "$1" = "la" -a -d /devices ]