我被這個問題困住了。基本上我有兩個不同的文本文件,其中一個帶有問題,另一個帶有答案。 Loop從文件中讀取第一個問題並等待用戶輸入,然後將輸入與其他文本文件中的第一行進行比較。但它通過整個第二個文件並比較所有行。文件中的Bash嵌套循環readline
有一個代碼。
#!/bin/bash
wrong=0
right=0
while IFS='' read -r question || [[ -n "$question" ]];
do
echo "$question"
read input </dev/tty
while IFS='' read -r answer || [[ -n "$answer" ]];
do
if [[ $answer == *"$input"* ]]
then
((right+=1))
else
((wrong+=1))
fi
done < answers.txt
done < file.txt
echo "Wrong answers: $wrong"
echo "Right answers: $right"
它在看什麼,並採取從問題第一線,相比之下,在回答每一行,去了另一個問題。但我需要嵌套循環只與第一行比較,並移動到另一個問題等。
的事情是我需要看到一個問題,然後回答它,然後它會檢查來自answers.txt的答案,如果是正確的,然後遞增正確或如果我的答案是不正確的,那麼它會增加錯誤的變量。例如:Question1:........(在questions.txt中的第一行)然後我輸入「yes」或「no」,然後檢查我是否正確地轉到answers.txt的第一行 – Antoshjke
@ Antoshjke更新。 – kojiro
您的代碼有效,但它不會向我顯示問題。 – Antoshjke