私はユーザーの地球の重量を月の重量に変換する簡単なスクリプトを書いています。しかし、プログラムが終了したら、ユーザーにプロセスを繰り返して応答を読むかどうかを尋ねます。
ユーザーが「はい」と答えた場合はスクリプトを繰り返す必要があり、そうでない場合はスクリプトを終了する必要があります。
これが私が今まで持っているものですが、ユーザーが終了しないことを決めた場合、スクリプトを繰り返す方法がわかりません。
echo -n "Enter starting weight: "
read star
echo -n "Enter ending weight: "
read end
echo -n "Enter weight increment: "
read increment
while [ $star -le $end ]
do
moonweight=`echo $star \* .166 | bc`
echo "$star pounds on earth = $moonweight pounds on the moon"
star=`expr $star + $increment`
done
notDone=true
while [ $notDone ]
do
echo -n "Enter a number or Q to quit: "
read var1 junk
var1=`echo $var1 | tr 'A-Z' 'a-z'`
if [ $var1 = "q" ]
then
echo "Goodbye"
exit
else
fi
done
答え1
別のwhileループで包みます。
while :
do
echo -n "Enter starting weight: "
read star
echo -n "Enter ending weight: "
read end
echo -n "Enter weight increment: "
read increment
while [ "$star" -le "$end" ]
do
moonweight=`echo $star \* .166 | bc`
echo "$star pounds on earth = $moonweight pounds on the moon"
star=`expr $star + $increment`
done
notDone=true
while $notDone
do
echo -n "Enter a number or Q to quit: "
read var1 junk
var1=`echo $var1 | tr 'A-Z' 'a-z'`
if [ "$var1" = "q" ]
then
echo "Goodbye"
exit
else
notDone=false
fi
done
done