Você pode ver o valor de $SHELL
e ver se ele está definido para o executável do shell. Você poderia então testar e ramificar o valor disso, ou a falta dele; Eu não sei se isso será definido em shells mais antigos.
Se você não precisa dos recursos avançados de [[
, use [
. Esta página explica as diferenças em detalhes. Veja também esta questão relacionada .
Se você for comparar somente strings com ==
, use a sintaxe POSIX para a maior compatibilidade: [ string1 = string2 ]
, que usa um único sinal de igual.