shスクリプトの「fi」エラー

shスクリプトの「fi」エラー

私は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/

おすすめ記事