#!/bin/sh #引数の桁数をketasuに代入 hikisu=$1 ketasu=${#hikisu} if [ $ketasu = 4 ] #引数の桁数が4桁の時 then #変数設定 a=1 b=4 #途中で終わらなかった場合、aの値が999998になるまで繰り返す while [ $a -lt 999998 ] do #円周率100万桁の中から小数点以下a桁目からb(=a+3)桁目までを抜き出す cut -c $a-$b kadai1_data.dat > kadai1-1_data.dat doll=`cat kadai1-1_data.dat` if [ $doll = $1 ] #抜き出した4桁の数字が引数と一致した場合 #結果を表示してループから抜け出す then echo $1は円周率の小数点以下$a桁目から始まります break #引数と一致しなかった場合 #aとbの値を1ずつ増やしてもう一度繰り返す else a=`expr $a + 1` b=`expr $b + 1` fi done if [ $a -eq 999998 ] #もしbreakではなくaの値が999998になったことでここに来たならば、以下を表示する then echo $1は円周率100万桁の中には存在しません fi #途中で作られたファイルを削除 rm kadai1-1_data.dat #引数の桁数が4桁ではなかった場合、エラーメッセージを表示 else echo 4桁の数字を入力してください fi