スクリプトの練習
お仕事の宿題ね
readSetupFile
#!/bin/bash cnt=0 <-カウンタの宣言 setup=$(cat $1) <-setupファイルの内容を読み込む while read F1 do if expr "$F1" : "bbbbb" > /dev/null || [ -z "F1" ] <-1行の中に"bbbb"を含む行を探す then wk=$(echo ${F1} | awk 'BEGIN{ FS="=" }{ print $2 }') <-まず"="の区切りで右辺の文字列を取り出す。 ip=(`echo ${wk} | cut -d',' -f1`) <-右辺の","区切りでデータを取り出して変数に格納 vc=(`echo ${wk} | cut -d',' -f2`) tc=(`echo ${wk} | cut -d',' -f3`) rs=(`echo ${wk} | cut -d',' -f4`) sbNo=$(/home/kkijiya/test/get_homeSB $cnt) <-cntをパラメータとして、get_homeSBコマンドを実行して結果を$sbNoに格納 err=$? <-実行結果の保存 if [ $err != 0 ];then <-エラーの場合は次の行へ echo 'ERROR!!' break fi if [ "$sbNo" = "SB#1" ] <-SB#1の場合 then echo SB#1:$ip $vc $tc $rs elif [ "$sbNo" = "SB#2" ] then echo SB#2:$ip $vc $tc $rs elif [ "$sbNo" = "SB#3" ] then echo SB#3:$ip $vc $tc $rs elif [ "$sbNo" = "SB#4" ] then echo SB#4:$ip $vc $tc $rs fi cnt=`expr ${cnt} + 1` fi done <<< "${setup}"
get_homeSB
#!/bin/bash if [ $# -gt 0 ] then if [ $1 -lt 3 ];then if [ $1 = 0 ];then echo SB#2 elif [ $1 = 1 ];then echo SB#3 elif [ $1 = 2 ];then echo SB#4 elif [ $1 = 3 ];then echo SB#1 fi else exit 1 fi else echo "input the parition No." exit 2 fi