ここでは、B シェルで if 文内の and 演算と or 演算を行うサンプルスクリプトを掲載しています。
スポンサーリンク
or 演算のサンプル
or 演算を行うときには -o で行うことができます。
#!/bin/sh # 第1パラメータを取得 team=$1 if [ $team = "Hawks" -o $team = "Fighters" ] ; then # ホークスまたはファイターズの場合 echo "強いです"; elif [ $team = "Baystars" ] ; then # ベイスターズの場合 echo "弱いです"; else # その他の球団の場合 echo "微妙です"; fi
B シェルで処理の分岐を行う場合は if ~ elif ~ else ~ fi 構文ですが、紛らわしいので記述には気をつけましょう。また、文字列の比較は == ではなく = です。ここは VB の仕様と同じです。
and 演算
or 演算が -o でしたので、想像通り and 演算は -a です。
#!/bin/sh str1="aaa" str2="bbb" if [ $str1 = "aaa" -a $str2 = "bbb" ] ; then echo "真"; // こちらが出力される else echo "偽"; fi if [ $str1 = "aaa" -a $str2 = "ccc" ] ; then echo "真"; else echo "偽"; // こちらが出力される fi
コマンドラインパラメータの取得
最初の or 演算のサンプルにあるように $1, $2 のようにコマンドラインパラメータを取得することができます。
$0 : 起動されたスクリプトファイルパス
$1 : コマンドラインパラメータ1
以降 $2, $3, ・・・ と続きます。
コマンドラインパラメータ数の取得方法
$0 に入っているスクリプトのファイルパスはパラメータ数にはカウントされませんので注意が必要です。
#!/bin/sh if [ $#argv -ne 3 ] ; then echo "パラメータの個数は3でなければならない"; exit fi echo $0 # 起動されたスクリプトファイルパスを出力 echo $1 # パラメータ1を出力 echo $2 # パラメータ2を出力 echo $3 # パラメータ3を出力