[shell] やる夫がcase文でshellを作成したようです。
case文でホスト名判定して、処理を変える
最近ネタがない・・・。下記のようなshellを作ることがあったのでカキマスタ。
例えばやる夫のサービス環境が下記のような感じで、各サーバの用途によってshellの実行結果を変更したいとき、case文を使ってみては如何でしょうか?
- indigo05 ~ indigo08 サーバはwebサーバ
- navyblue1 ~ navyblue4 サーバはaplサーバ
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ iti is not a pertinent server...
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwwwwwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
標準出力って普通英語で書きますよね(もちろんエキサイト翻訳)・・・。日本語で出力すれば親切かと思いきや人によって、リモートツールの文字コードがバラバラなので、英語で書いて上げるのが親切だと思っています。
英語で書いて気取ってるんじゃねぇ~よって言う、やる夫の考えは実は間違え・・・。
# vi sample_case.sh
-----
### hostname set
nodename=`hostname`###-----
### deploy
case "$nodename" in### indigo05~indigo08サーバにmatch
indigo0[5-8])
echo "yaruo_1" ※ココに処理を書く
;;### navyblue1~naviblue4サーバにmatch
navyblue[1-4])
echo "yaruo_2"
;;### 上記matchしなかったサーバ
*)
echo "it is not a pertinent server..."
exit 1
;;esac
-----
| 固定リンク
「LINUX コマンド」カテゴリの記事
- watch [プロセス管理コマンド] (2008.07.01)
- やる夫がアカウント管理をするようです。(2008.02.14)
- Linux コマンド リファレンス(2008.03.05)
- wc [ファイル管理コマンド] (2008.03.05)
- vmstat [プロセス管理コマンド](2008.04.21)
トラックバック
この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/488651/20551124
この記事へのトラックバック一覧です: [shell] やる夫がcase文でshellを作成したようです。:





コメント