シェルスクリプトに実行権限を追加する理由

シェルスクリプトに実行権限を追加する理由

私たちが知っているように、シェルでスクリプトを実行するには、スクリプトに実行権限が必要です。

$ ls -l
total 4
-rw-r--r-- 1 user user 19 Mar 14 01:08 hw
$ ./hw
bash: ./hw: Permission denied
$ /home/user/hw
bash: /home/user/hw: Permission denied
$

bash <scriptname>ただし、このスクリプトはなどを使用して実行できますsh <scriptname>

$ bash hw
Hello, World!
$ 

これは、既定では、読み取り権限のみでスクリプトファイルを実行できることを意味します。愚かな質問かもしれませんが、スクリプトファイルに実行権限を与えることはどういう意味ですか?プログラムを実行するには実行権限が必要なので、セキュリティやその他の利点が実際に追加されない可能性がありますか?

ベストアンサー1

はい、可能ですbash /path/to/script。ただし、スクリプトには別のソルバーがあります。kshまたはと連携するようにスクリプトを作成することもできますzsh。したがって、スクリプトを呼び出すために使用するインタプリタを知る必要があります。実行可能スクリプトにshebang行(上部)を使用すると、ユーザーはどのインタプリタを使用する必要があるかを知る必要はありません。スクリプトを挿入して通常のプログラムのように呼び出すこともできます。awkexpect#!/bin/bash$PATH

おすすめ記事