我想比較用戶輸入與字符串數組值,當我這樣做時,這兩個值似乎是相同的,當我打印出來,但if語句沒有看到他們作爲等於。有什麼明顯的我失蹤了。比較陣列值與用戶輸入bash
k=0
while [ -z $arg1 ]
do
while [ $k -ne 9 ]
do
# ask question
echo "${question[k]}"
answer="${answer[k]}"
read -p "YES/NO " arg1
# check answer
if [ '$arg1' = '$answer' ]; # problem is here
then
echo "Correct!"
let "k=$k+1"
else
echo "Incorrect!"
echo "Your answer: $arg1"
echo "Correct answer: $answer"
fi
done
done
看起來你有一個數組'answer'您正在然後用一個變量覆蓋包含其中的一個元素。 –
請看看:http://www.shellcheck.net/ – Cyrus