[Linux] => [シェルスクリプト]



case文は文字列を比較して、一致したブロックを実施します。サービスの起動スクリプトなどでよく使用されます。


[書式]
#比較する文字列
case 比較文字列 in


文字列A)
比較文字列が文字列Aに一致した場合に実施するコマンド
;;


文字列B)
比較文字列が文字列Bに一致した場合に実施するコマンド
;;


文字列C)
比較文字列が文字列Cに一致した場合に実施するコマンド
;;


esac


[例]
#!/bin/bash

case "$1" in


start)
echo start
;;


stop)
echo stop
;;


*)
echo "Usage {start|stop}"
exit 1

esac



広告
シェルスクリプト基本リファレンス シェルスクリプト基本リファレンス
¥ 2,394 / 売り上げランク: 21448 / 305 ページ

この「シェルスクリプト基本レファレンス」は秀逸です。
特に3章「シェル文法の循環構造」は/etc/rc.d以下のシェルスクリプトを読む毎に今まで感じていた疑問や違和感を解消してくれました。コマンド-->パイプライン-->リスト-->複合コマンド-->コマンドの循環構造や、構文(if文やfor文)が複合コマンドであることなど、シェルスクリプトに対する理解がかなり深まりました。「入門シェルプログラミング、ブルース・ブリン著」と共に、いつも手元に置いておきたい本です。

UNIXシェルスクリプトハンドブック (Technical handbook series (001)) UNIXシェルスクリプトハンドブック (Technical handbook series (001))
¥ 2,310 / 売り上げランク: 34150 / 410 ページ

いきなり高度な使い方が出てくるのに概要しか説明がない
何冊も他の本を読んだがそれでも判らない

シェルスクリプト ポケットリファレンス ~bash編 (Pocket reference) シェルスクリプト ポケットリファレンス ~bash編 (Pocket reference)
¥ 2,394 / 売り上げランク: 34724 / 256 ページ

共著であるためなのか、全く同じ事の解説が(例えばシェル変数のエクスポートなど)複数の章で書いてあったりする。
いい加減に本を書いている証拠。
他にもシェルスクリプトでの数値計算などの説明もなく、ほとんど役に立たない。