我被这个问题困住了。基本上我有两个不同的文本文件,其中一个带有问题,另一个带有答案。 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