シェルスクリプトとは、主にUn*x系のオペレーティングシステムにおいて、シェルにおけるコマンドの実行を自動化するために用いられるスクリプト言語である。
概要
Un*x系のオペレーティングシステムにおいては、bashやtcshのようなシェルを経由してファイル操作やシステム設定を行うことが基本である。だが、複数マシンで同じような設定を何度も行う必要がある場合や、同じ処理を何度も繰り返さなければならない場合には、毎回シェル上でコマンドを手で叩いていては、日が暮れてしまうどころか日が昇ってしまっても作業が終わらないことになりうる。それを自動化するために一連のコマンドを羅列したものがシェルスクリプトである。これを用いることで、長大なコマンド群を一度に実行したり、定期的に実行させたりすることができるようになる。また、プログラミング言語としての一面も持つため、特定の条件に応じて実行内容を変化させることもできる。
一口にシェルと言っても前述したbashやtcshに加え、sh、csh、ksh、zshなどをはじめとして多くの種類が存在する。シェルスクリプトの言語仕様はシェル独自の機能や構文によって様々に異なるため、シェルが異なる場合には微妙な言語仕様の違いによって同じスクリプトの動作が変わってしまうことがあるため注意が必要である。単にシェルスクリプトと呼ぶ場合にはbashスクリプトのことを指すことが多い。これは、多くのLinuxディストリビューションにおいて標準のシェルとされていることがその要因である。
Hello, World の例
シェルスクリプトの構文例
下記にshで用いることができるシェルスクリプトの構文の一例を示す。セミコロン(;)は改行でも良い。
構文 | 説明 |
---|---|
# comment |
コメント(実行されない文) |
echo string |
文字列の表示 |
`command` |
コマンドの実行結果の取得 |
$(command) |
コマンドの実行結果の取得 |
X="nico nico" |
変数代入 |
|
条件分岐 |
for var in ...; do; ...; done |
繰り返し |
while [ ... ]; do; ...; done |
繰り返し |
case var in; pattern1) ...;; pattern2) ...;; esac |
スイッチ文 |
関連動画
関連商品
関連項目
- 0
- 0pt