#!/bin/bash if [[ $1 =~ ^[0-9]{4}$ ]] #入力された引数が4桁の数字であるかによって場合分け。 then #引数が4桁の数字である場合以下を実行する。 pai=kadai1_data.dat #円周率100万桁のファイルをpaiに代入しておく。 a=1 b=4 while : #whileによってループさせる。 do pass=`cut -c $a-$b $pai` #cutでpaiからa-b桁目を切り取りpassに入れておく。aとbは1ずつずらしていく。 if [ $pass = $1 ] then echo "$1は円周率の小数点以下$a桁目から始まります" exit fi #引数とpassが一致した場合、引数が何桁目から始まるかを出力してループから抜け出す。 if [ $b -gt 1000000 ] then echo "$1は円周率の小数点以下には存在しません" exit fi #bが100万を超えても引数と一致しなかった場合、つまり引数と一致する4桁が見つからなかった場合のエラー処理。 a=`expr $a + 1` b=`expr $b + 1` #aとbにそれぞれ1を足して繰り返す。 done else echo "4桁の数字を入力してください" fi #入力された引数が4桁の数字でなかった場合のエラー処理。