ためになるホームページ お問い合わせ




TOP > シェルスクリプト > シェルスクリプトの制御文
if文
(基本式1)
if [ 条件式1 ]; then
  処理1
fi

(基本式2)
if [ 条件式1 ]; then
  処理1
elsif [ 条件式2 ]; then
  処理2
else
  処理3
fi

ifの例
#!/bin/bash

#file name if.sh
if [ $1 -eq 1 ]; then
  echo "ok!"
else
  echo "no"
fi


$ ./if.sh //引数を与えない
no

./if.sh 1//引数を与える
ok!

case文
基本式
case 変数 in
  値1)
    処理1
    ;;
  *)
    デフォルト処理
esac

caseの例
#!/bin/bash

#file name case.sh
case $1 in
  -a) echo "option $1"
  ;;
  *) echo "known option or no option"
esac


$./case.sh
known option or no option

./case.sh -a
option -a



for文
基本式
for in 値1 値2 ... 値n
do
  処理
done
bashでは、C言語のように書くこともできる
for ((初期化式; 条件式; 評価式))
do
  処理
done

forの例
#!/bin/bash
for (( i = 0; i < 5; i++ ))
do
  echo "$i"
done

$ ./for.sh
0
1
2
3
4


while文
基本式
while [ 条件式 ]
do
  処理
done

whileの例
#!/bin/bash
CNT=0
while [ CNT -lt 5 ]
do
  echo "$CNT"
  CNT = CNT + 1
done

$./while.sh
0
1
2
3
4


until文
基本式
until [ 条件式 ]
do
  処理
done
C言語のdo-whileに相当。最初の処理は、条件式に関わらず実行される

untilの例
#!/bin/bash
CNT=0
until [ CNT -lt 0 ]
do
  echo "$CNT"
  CNT = CNT + 1
done

$./until.sh
0


continue/break
continueは以下の処理を行わず、制御式の条件式に移行する。breakは、ループよりから強制離脱する。

:コマンド
「:」コマンドは、何もしない、コマンドで常に真(0)を返す






Copyright 2007 ためになるホームページ All Rights Reserved.