#!/bin/bash echo "What's your number?" #What's your number?と端末に表示する read N #Nを読み込む if test $N -ge 2 #Nが2以上のとき  then echo -n "$N:" | tee quiz2.txt #Nを端末とテキストファイルに出力する     B=3 #Bの初期値を3とする while test 0 -eq `expr $N % 2` #Nが2で割り切れるときdo〜doneを繰り返す do N=`expr $N / 2` #もとのNを2で割ったものを新しいNとする echo -n ' 2' | tee -a quiz2.txt #Nの素因数2を端末とテキストファイルに追加で出力する done #このループで2の素因数を見つける while test $N -gt $B #NがBより大きいときdo〜doneを繰り返す do if test 0 -eq `expr $N % $B` #NがBで割り切れれば then N=`expr $N / $B` #もとのNをBで割ったものを新しいNとする echo -n " $B" | tee -a quiz2.txt #Nの素因数Bを端末とテキストファイルに出力する  else B=`expr $B + 2` #NがBで割り切れなければもとのBに2を足して新しいBとする   fi done #このループで奇数の素因数を見つける if test $N -eq $B #上のループを抜けてNとBが等しいとき、N=Bも素因数なので then echo -n " $B" | tee -a quiz2.txt #端末とテキストファイルに表示する fi echo | tee -a quiz2.txt #このままでは改行せずにコマンドプロンプトが表示されるので #文を改行する else echo "error" #Nが1以下だと無限にループするので、計算せずerrorと表示させる fi