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.