No test
do Bash (sinônimo para [ ... ]
) embutido, e também para as expressões [[ ... ]]
geralmente preferíveis, você deve separar todos os argumentos e operadores com espaços.
Além disso, você deve sempre citar suas variáveis. Também é recomendável usar o recuo para tornar seu código mais legível e usar a sintaxe de substituição de processo de novo estilo $(...)
em vez de '...'
.
Ah, e lsb_release
tem uma opção -s
ou --short
para omitir a primeira coluna, você não precisa analisá-la com sed
.
Poderia aparecer, por exemplo assim:
#!/bin/bash
os=$(lsb_release -rs)
echo "$os"
if [[ "$os" = "16.04" ]] ; then
echo "g"
elif [[ "$os" = "14.04" ]] ; then
echo "b"
else
echo "c"
fi
Por outro lado, para comparar uma variável com vários valores, case
pode ser mais bonito :
#!/bin/bash
os=$(lsb_release -rs)
echo "$os"
case "$os" in
"16.04") echo "g" ;;
"14.04") echo "b" ;;
*) echo "c" ;;
esac