#!/bin/sh number=$1 while test $number -ne $2 #引数$1をnumberとし、もうひとつの引数$2以下の場合にこのファイルを実行する。 do x=`expr $number % 3` #ある数を3で割った時の余りをxとする。 x2=$number #ある数をx2とする。 x3=0 #x3を0とする。 if [ $x2 -ge 10 ];then while [ $x2 -gt 10 ];do #x2が10以下の場合と10より大きい場合に場合分けする。 x2=`expr $x2 - 10` #x2から10引いたものをx2とする。これにより、x2は一の位の数を表している。 x3=`expr $x3 + 1` #x3に1を足したものをx3とする。これにより、x3は十の位の数を表している。 done fi y=`expr $number % 8` #ある数を8で割った時の余りをyとする。 z=`expr $number % 24` #ある数を24で割った時の余りをzとする。 a=$number #ある数をaとする。 if [ $z -eq 0 -o $a -eq 32 ];then echo "$number fool comfortable" >> quiz2.txt #z=0(24の倍数)または、a=32(数が32)の時、"数 fool comfortable"をquiz2.txtに出力する。 elif [ $y -eq 0 ];then echo "$number comfortable" >> quiz2.txt #y=0(8の倍数)の時、"数 comfortable"をquiz2.txtに出力する。 elif [ $x -eq 0 -o $x2 -eq 3 -o $x3 -eq 3 ];then echo "$number fool" >> quiz2.txt #x=0(3の倍数)または、x2=3(一の位に3のつく数)または、x3=3(十の位に3のつく数)の時、"数 fool"をquiz2.txtに出力する。 else echo "$number" >> quiz2.txt #上記以外の数の場合は、"数"をquiz2.txtに出力する。 fi number=`expr $number + 1` #数は1づつ増えていく。 done