- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!シェルプログラミング 制御
[シェルプログラミング]
*if,elif,else
*for
*while
*until
*case
!! if, elif, else
条件の判定とステートメントの実行
if condition
then
statements
elif condition
then
statements
else
statements
fi
'''例'''
#!/bin/sh
echo "Are you over 18years old ?"
read isAdult
if [ $isAdult = "yes" ];then
echo "Welcom! enter the site."
elif [ $isAdult = "no" ];then
echo "Sorry. you shuld go http://yahoo.co.jp"
else
echo "Sorry $isAdult no recognized. Enter yes or no"
exit 1
fi
exit 0
!!for
*範囲の値を繰り返し操作
*値には任意の文字列を指定
*値はあらかじめプログラムに記述しておくことも、シェルによるファイル名の展開結果等を利用することも可能
for variable in values
do
statements
done
'''例'''
#!/bin/sh
for fruits in apple berry banana
do
echo $fruits
done
exit 0
!!while
*条件が真の間ループが実行される
*回数がわからない場合などの繰り返し
*指定回数の繰り返しを簡単に
while condition
do
statements
done
'''例 -繰り返し回数不明'''
#!/bin/sh
echo "Enter password"
read password
while [ "$password" != "pass" ]; do
echo "password isn't match. try again"
read password
done
exit 0
'''例 -指定回数繰り返し'''
#!/bin/sh
i=0
while [ "$i" -le 10 ];do
echo $i
i=$(($i+1))
done
exit 0
!!until
*whileステートメントの条件テストを逆にしたもの
*条件が真になるまでループが実行される
#!/bin/sh
until who | grep "$1" > /dev/null
do
sleep 60
done
echo "$1 has just logged in"
exit 0
!!case
*変数の内容をパターンと比較し結果に応じて処理を実行できる
*複数のパターン指定と複数の実行が可能
*ユーザ入力を調べるのに適している
case variable in
pattern [ | pattern] ...) statements;;
pattern [ | pattern] ...) statements;;
...
esac
----
上記はこの本からの覚書。
非常にわかりやすく説明されている良書
{{amazon 4797327014}}