#!/bin/sh echo > ~/public_html/report01/results/quiz2.txt #quiz2.txtに結果を出力(前回実行した結果に上書き) m=$1;n=$2; while [ $m -le $n ];do #mからn以下までの数字において、do と done の間のコマンドを実行し続ける。 #以下、コメント部分の変数の説明をmで統一する。 i=`expr $m % 24` # m を24で割ったあまりを'i'と定義。 ii=`expr $m % 8` # m を8で割ったあまりを'ii'と定義。 nabe=`expr $m % 3` # m を3で割ったあまりを'nabe'と定義。 nabe2=$m #mからnまでの数字を'nabe2'と定義。 nabe3=0; if [ $nabe2 -ge 10 ];then #nabe2が10以上のとき、then以下を実行。 while [ $nabe2 -ge 10 ] #nabe2が10以上のとき、do と done の間のコマンドを実行し続ける。 do nabe2=`expr $nabe2 - 10` #nabe2から10を引いたものを'nabe2'と再定義。 nabe3=`expr $nabe3 + 1` #nabe3(0)に1を足したものを'nabe3'と再定義。 done #結局、nabe2はmの1の位の数を、nabe3はmの10の位の数を表す。 fi if [ $i -eq 0 -o $ii -eq 0 -a $nabe3 -eq 3 ] then echo "$m fool comfortable" >> ~/public_html/report01/results/quiz2.txt # i(mを24で割ったあまり)が0、又は ii(mを8で割ったあまり)が0で、 #かつnabe3(mの10の位の数)に3のつく数字のとき、"m fool comfortable"とquiz2.txtに出力。 elif [ $ii -eq 0 ] then echo "$m comfortable" >> ~/public_html/report01/results/quiz2.txt # ii(mを8で割ったあまり)が0のとき、"m comfortable"とquiz2.txtに出力。 elif [ $nabe -eq 0 -o $nabe2 -eq 3 -o $nabe3 -eq 3 ];then echo "$m fool" >> ~/public_html/report01/results/quiz2.txt # nabe(mを3で割ったあまり)が0のとき、又はnabe2(mの1の位の数)に3のつく数字のとき、 #又はnabe3(mの10の位の数)に3のつく数字のとき、"m fool"とquiz2.txtに出力。 else echo "$m" >> ~/public_html/report01/results/quiz2.txt #それ以外のとき、"m"とquiz2.txtに出力。 fi m=`expr $m + 1` done