スクリプトの実行手順をおさらい
PythonやPerl、シェルスクリプトなどのスクリプトファイルは、シェバング行を書いておくとスクリプトファイルを直接実行することができるそうです。
シェバング行というのは、
#!/usr/bin/perl
みたいなのを書いている行のことですね。スクリプトファイルの1行目に書きます。これを書いておくと、
$ perl test.pl
と書いていたのが、
$ ./test.pl
でスクリプトファイルを実行できるようになるわけです。
「./」をスクリプトファイルの前に入れないと、スクリプトは実行されません。
しかし、実際に試してみるとエラーが表示されてしまいます。
$ ./test.pl -bash: ./test.pl: Permission denied
これは、ファイルの属性が実行可能になっていないからなんですね。ファイルの属性はパーミションとも呼ばれるようです。ファイルのパーミッションは「ls -l」コマンドで確認できます。
$ ls -l test.pl -rw-r--r-- 1 t_sawada staff 630 12 26 23:47 test.pl
「-rw-r--r--」というやつがファイルの属性を示しています。自分に関係があるのは、左から数えて2〜4までの項目です。「r」「w」「x」という3つの項目が、パーミションを表しています。
それぞれどんな意味があるのかというと、
Mode 名称 説明 r リード ファイルを読み出し可能、ディレクトリ内容を参照可能 w ライト ファイルやディレクトリに書き込み可能 x 実行 ファイルを実行可能、ディレクトリに移動可能
とのこと。Wikipediaに書いていました。
さっきの「-rw-r--r--」を見ると、「実行」のパーミッションが付与されていませんね。だから実行できなかったようです。
パーミッションの設定は、「chmod」コマンドで行います。
$ chmod u+x test.pl
ユーザーに(User)に実行(x)を付与(+)とでも覚えておくとよさそうですね。
再度スクリプトを実行してみます。
$ ./test.pl Hello World!
できました!