私はLinux viでcrapsゲームを作ろうとしましたが、それを理解できないようです。エラーと言っても、「if」ステートメントを「fi」で終わらせることはできません。なぜこれですか? 1から6の間の2つの乱数を生成する必要があり、その数が追加された場合、勝利、敗北、またはスコアを取得します。助けが必要ですか?
私が試したことは次のとおりです。
# craps.sh program inn bash shell
# $RANDOM returns a different random integer at each invocation.
# generate_random_number function which returns sum of
# 2 random number between 1 and 6
generate_random_number()
{
RANGE=6
#get 2 random numbers
number1=$RANDOM
number2=$RANDOM
# get it between 1 and 6
number1=$((($number1%$RANGE)+1))
number2=$((($number2%$RANGE)+1))
echo number 1 is $number1
echo number 2 is $number2
# add 2 numbers
sum=$(($number1+$number2))
echo sum is $sum
#return the sum
return $sum
}
# play_game() function invoked whenever user wants to play
play_game(){
# first throw
generate_random_number
sum=$?
# check if win or lost
if(($sum==2 || $sum==3 || $sum==12))
then
# lost then subtract wager from total amount
amount=$(($amount-$wager))
echo You Lost $wager$
fi
ベストアンサー1
これはviとは何の関係もありません。
「if」の後にはスペースが必要です。
シェルプログラミングチュートリアルをお読みください。
また、使用する必要がありますhttps://www.shellcheck.net/