シェル・プログラミング:6. if文

 シェルは,単に,UNIX のコマンド処理ということだけではなく,プログラミング言語としての一面があると感じるのが,「if文」の存在です。

■if 文 ([ ] 部分はオプション)

     if 条件
     then
           処理1
     [elif 条件]
     [then]
          [処理2]
     [else]
          [処理3]
     fi

 次の例は,例2のスクリプトにおいて,スクリプトを実行する段階で変数が代入されなかったとき,相手に尋ねるものです。

#
# 例 11
#
#!/bin/sh

echo '# Example 11'

message=$*

if [ ! -s $message ]
then
     echo -n 'Enter your message: '
     read message
fi

echo "Your message to your boss was: $message"
実行例1)
% sh script "I'm drinking!"
# Example 11
Your message to your boss was: I'm drinking!
%

実行例2)
% sh script
# Example 11
Enter your message: Getting fat?
Your message to your boss was: Getting fat?
%

この例において,[ ] 内の -s は条件判定用の演算子。[ ] は条件評価の命令。