拡張子が「.sh」のシェルスクリプトに書かれたコードを手軽に検証する方法について。
シェルスクリプト(.shファイル)のデバッグ方法
必要なのは次の2つの手順のみ。簡単です。
- パーミッションを変更する。
chmod 755 ファイルパス - ファイルを指定して実行する。
./ファイルパス
実例
実際にシェルファイルにコードを書いてテストしてみます。
ファイルの作成
vimエディタで「test.sh」というシェルスクリプトを作成します。
$ vim test.shファイルの中身は次のように記述します。
#!/bin/bash
echo 'test'ファイルの中身
#!/bin/bash
は必須です。これでシェルスクリプトであることを宣言しています。
echo 'test' で「test」という文字を出力する処理です。
権限の変更
ファイルを生成した時点では、読み書きのみで実行権限が与えられていません(-rw-r–r–)。
この状態で実行すると bash: ./test2.sh: Permission denied 実行権限がないよと言われます。
そこで生成したファイルに書き込み権限を付与します。
$ chmod 755 test.shこれでファイルに実行権限が付与されます。(-rwxr-xr-x)
ファイルの実行
最後にファイルを実行します。実行するときはファイルパスを指定します。
相対パスの時は ./ で始めます。現在のいる場所にファイルがあるからと言ってファイル名だけ記述してもダメです。ファイルではなくコマンドとして認識されてしまいます。
$ ./test.sh
test無事ファイルを実行することができました。
以上で完了です。
あとは、シェルスクリプトの中のコードを変更すれば処理内容をデバッグできます。
ファイル名のみはNG
$ test.sh
-bash: test.sh: command not found

