我正在撰寫一個數字猜謎游戲,它是 linux 中的 bash 腳本。每次我去運行我的代碼時,我都會收到以下錯誤訊息:第 17 行:意外標記“完成”附近的語法錯誤
\#!/bin/bash
random_number= $(( ( RANDOM % 100 ) 1 ))
echo $rand
user_guess=0
guesses=0
while \[ $user_guess -ne $random_number \] do
read -p "Enter guess : " ; user_guess
if \["$user_guess" -lt $random_number \] ; then
echo "Select a Higher Number"
elif \[ "$ user_guess" -gt $random_number \]; then
echo "Select a Lower Number"
fi
guesses=$(($guesses 1))
echo "Correct! Guessed $random_number It took $guesses guessess."
done
我嘗試運行我的代碼,但由于錯誤訊息而無法運行
uj5u.com熱心網友回復:
您的代碼有幾個語法錯誤。
在 while 陳述句之后丟失,第一個 if 陳述句之間和;之間沒有空格,還有更多...[$user_guess
也是一個邏輯錯誤,echo correct在你的while回圈中,所以即使你沒有好的答案,它也總是正確的。
在代碼中添加縮進將幫助您使其具有可讀性。
在任何地方參考你的變數
除此之外,你在正確的軌道上。
#!/bin/bash
RANDOM_NUMBER=$((( RANDOM % 100 ) 1 ))
USER_GUESS=0
GUESSES=0
while [[ "$USER_GUESS" -ne "$RANDOM_NUMBER" ]]; do
read -p "Enter guess : " USER_GUESS
if [[ "$USER_GUESS" -lt "$RANDOM_NUMBER" ]]; then
echo "Select a Higher Number"
elif [[ "$USER_GUESS" -gt "$RANDOM_NUMBER" ]]; then
echo "Select a Lower Number"
fi
GUESSES=$(($GUESSES 1))
done
echo "Correct! Guessed ${RANDOM_NUMBER} It took ${GUESSES} guesses."
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/450360.html
上一篇:如何使用指令停止事件傳播?
