私の知る限り、現在のシェルを判別するには、echo $0
を使用します。 シェルで。むしろ、スクリプトで実行中のシェルをチェックする必要があります。そこで、$0
を印刷してみました スクリプト内で、スクリプトの名前を適切に返します。だから、私の質問は、実行時にスクリプトが実行されているシェルをどのように見つけることができるかということです。
承認された回答:
Linuxでは、/proc/PID/exe
を使用できます。 。
例:
# readlink /proc/$$/exe
/bin/zsh