スクリプトファイルの先頭に #!/bin/bash を置く必要があるのはなぜですか? 質問する

スクリプトファイルの先頭に #!/bin/bash を置く必要があるのはなぜですか? 質問する

私は作ったバッシュ#!/bin/bash以前にスクリプトを実行しましたが、最初はスクリプトなしでもすべて正常に実行されました。

それを入れる意味は何ですか?状況は何か変わりますか?

また、 はどのように発音しますか? は「bang」と発音される#ことは知っています。!

発音はどうですか#!

ベストアンサー1

これは、*nix シェルがどの種類のインタープリターを実行するかを認識するための規則です。

たとえば、ATT の古いバージョンではデフォルトでsh (Bourne シェル) が設定されていましたが、BSD の古いバージョンではデフォルトでcsh (C シェル) が設定されていました。

現在でも (ほとんどのシステムで bash ( 「Bourne Again Shell」)が実行されています)、スクリプトは bash、python、perl、ruby、PHP などで記述できます。たとえば、 または などがあり#!/bin/perlます#!/bin/perl5

追記: 感嘆符 ( ) は、親しみを込めて「バン」!と呼ばれます。シェルのコメント記号 ( ) は、「ハッシュ」と呼ばれることもあります。#

PPS: 覚えておいてください - *nix では、サフィックスをファイル タイプに関連付けることは単なる慣例であり、「ルール」ではありません。実行可能ファイルは、バイナリ プログラム、100 万種類のスクリプト タイプのいずれか、およびその他のものになることもあります。そのため、 が必要です#!/bin/bash

おすすめ記事