1.シェルスクリプトとは
シェルで実行する一連のコマンドをファイルにひとまとめにすることで、都度都度のコマンド入力せずともファイルを実行するだけで良くなる。この実行ファイルのことをシェルスクリプトと呼ぶ。
シェルスクリプトの拡張子は通常「.sh」。Linuxでは拡張子は必須ではないが人が分かりやすいように記載すべき。
2.シェルスクリプトの記載ルール
- シェルスクリプトの1行目は「#!」と続けて使用するインタープリタ(/bin/bash等)を指定
- コメントアウトは「#」を先頭につけること
3.シェルスクリプトの実行
実行方法は数種類存在するが代表的なものは下記表の通り。
実行方法 | 説明 |
source 実行ファイル . 実行ファイル | 現在のシェルで実行。シェル変数参照可。※ドットのあとにはスペースがある |
bash 実行ファイル | 新しいbashシェルで実行。元々のシェル変数の参照不可。 |
実行ファイルの絶対パスor相対パス | 直接実行するため読み取り権限・実行権限が必要。新たにシェルを起動するためシェル変数の参照不可。 |
実行ファイル | 読み取り権限・実行権限が必要。事前に環境変数PATHにパスを登録しておく必要がある。シェル変数の参照不可。 |
4.特殊変数
変数名 | 意味 |
$0 | 実行ファイル名 |
$1~$9 | スクリプトに渡された1〜9番目の引数 |
$# | 渡された引数の数 |
$* | 全ての引数を一つの文字列として展開 |
$@ | 全ての引数を個別の文字列として展開 |
$? | 直前に実行したコマンドの終了ステータス ・0=成功 ・0以外=エラー |
$$ | 現在のスクリプトが実行されているプロセスのID |
$! | 直前にバックグラウンド実行されたプロセスのID |
$- | 現在のシェルに設定されているオプション |
5.制御構造
量が多いためそれぞれ以下の専用ページで個別に説明する。