プロが教える店舗&オフィスのセキュリティ対策術

シェルスクリプトで
#!/bin/sh
ってどうゆう意味ですか?

A 回答 (2件)

一般にシェバン(shebang)と呼ばれる機能で、このファイルは /bin/sh のプログラムで実行処理するように、シェルに伝えています。



省略時は、現在使用しているシェルと同じプログラムを使用します。

例) スクリプトを perl で書きたいなら
#!/usr/bin/perl

例) python で書きたいけど実行環境の完全パスが不明なら
#!/usr/bin/env python

参考)
https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%90 …
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2021/08/26 10:58

Unix系OSに於ける「シェルスクリプト」がWindowsで言うバッチファイルに相当するものであることはご存知と思います。


そして「シェル」はWindowsでは「Dosプロンプト」一択ですが、Unix系OSでは「sh, csh, zsh, bash....」と沢山あることもご存知と思います。

Unix系OSに於ける「シェルスクリプト」は、その一行目に『シェルの実行コマンドを付加する。』ことによって、スクリプトがどのシェルの上で実行されるか規定することになります。

つまり、ご質問者様ご指摘の...

#!/bin/sh

は、ボーンシェルを表しますので、このシェルスクリプトの中身は、ボーンシェルに許されるコマンド、あるいは書式に基づいていなければなりません。このシェルスクリプトにcsh(シーシェル)に属するコマンド、書式を書いてはいけないことになります。

このことは、ご質問者様がログインした後のデフォルトのシェルが、仮にbash(バッシュ)だと仮定した時、同じアカウントが実行するシェルスクリプトが、shであったりあるいはcshであったりすることも当然できることになります。
    • good
    • 0

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