#!/bin/bash txt=quiz2.txt #出力先のファイルを指定します echo What\'s the number? read factor echo -n "$factor:" | tee $txt #素因数分解する数字が$factorとして読み込まれ quiz2.txtに出力されます number=2 #numberの初期値を2とします while [ $number -le `expr $factor / $number` ] do #$numberの値が 「$factorを$numberで割った商の値以下」である場合は 以下が繰り返し実行されます if [ `expr $factor % $number` -eq 0 ]; then echo -n " $number" | tee -a $txt #「$factorを$numberで割った余り」が0の場合は $numberの値がquiz2.txtに追記されます factor=`expr $factor / $number` #$factorを「先ほどの$numberで割った商」に定義し直します else number=`expr $number + 1` #「$factorを$numberで割った余り」が0でない場合は $numberの値が1ずつ増えていきます fi done echo " $factor" | tee -a $txt #残った素数がquiz2.txtに追記されます #なお 最後以外の echoに -n オプション を使うことで「改行しない」ことを指定しているので 素因数分解する数字とすべての素数が横一列に表示されています