重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

デフォルトシェルの調べ方(シェルスクリプトの1行目に#!を書かなかった場合にどのシェルで実行されるのかを調べる方法)を知りたいです。
よろしくお願いします

A 回答 (1件)

以前の質問で回答しましたよ。

忘れましたか?

>1行目が#!で始まらない場合は、そのスクリプトを実行するシェルの機能に依存します。Linuxだと一般的にはbashからの起動となるので、その場合、スクリプトもbashで実行されます。

1行目が#!で始まらない場合は、bashだとbashで、tcshだとtcshで、zshだとzshで実行されます。
念のためですが、何らかのシェルからでないと1行目が#!で始まらないスクリプトは実行できません。例えば、Cから直接exec系の関数で起動するとエラーになります。Cからsystem("filename")を実行すると、$SHELL -c "filename" がexecされるので環境変数SHELLのシェルが実行されます。

この回答への補足

詳細な解説ありがとうございました。

補足日時:2008/11/02 11:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!