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