Мы пытаемся использовать команду sed для возврата содержимого из 2 файлов (file1q и file1a) — файла вопросов и ответов.
Файл вопросов и ответов одинаковый с номерами в каждой строке:
1
2
3
4
5
6
7
8
9
10
Мы пытаемся повторить результат, однако команда sed повторяется, а не результат команды sed.
Это наш код:
#!/bin/bash
#clear screen
clear
#reset score to 0
score=0
#loop over files to find contents
i=1
while [ $i -le 10 ]
do
question="sed -n $i{p} file1q.txt"
answer="sed -n $i{p} file1a.txt"
if [ question == answer ]
then
echo "Correct"
else
echo "incorrect"
fi
i=$(( $i + 1 ))
done
Как вы можете видеть, i = 1, поэтому sed должен печатать строку 1 из обоих файлов... Однако это то, что мы получаем (используя двойные кавычки): вывод с двойными кавычками для echo
вот что мы получаем с одинарными кавычками: вывод с одинарными кавычками для echo
это то, что мы хотим:
вывод без echo