Chúng tôi muốn so sánh tệp1 (câu hỏi) với tệp2 (câu trả lời).
Tệp1:
1
2
3
Tệp2:
1
2
3
Hỏi người dùng: "1" (từ tệp1 dòng1) có bằng "1" (từ tệp2 dòng1) không?
Người dùng gõ CÓ hoặc KHÔNG và nhận được câu trả lời đúng nếu câu trả lời đúng. Nếu đúng thì thêm +1 vào câu trả lời đúng và sau đó hiển thị số lượng câu trả lời đúng.
Chúng tôi đang tìm cách thực hiện điều này cho tối đa 10 câu hỏi/câu trả lời...
Đây là một ví dụ về nơi chúng ta đang ở cho đến nay:
#!/bin/bash
xa lạ
#hằng số
điểm=0
file1=file1.txt
file2=file2.txt
#tin nhắn chào mừng
tiếng vang
tiếng vang
echo "Chào mừng đến với Bài kiểm tra Tập lệnh Lab 4.2!"
echo "Tại đây bạn sẽ được đặt câu hỏi và phải cung cấp câu trả lời chính xác..."
tiếng vang
tiếng vang
# vòng
tôi=0
trong khi [[ i -le 10 ]]
làm
#parse tệp cho câu hỏi và câu trả lời
câu hỏi='sed -n $i{p} $file1'
answer='sed -n $i{p} $file2'
# in câu hỏi và câu trả lời cho người dùng
tiếng vang "Là câu hỏi $"
echo "Giống như $answer?"
#đọc lựa chọn của người dùng
read -p "- Phản hồi của bạn: (CÓ hoặc KHÔNG)" user_choice
#so sánh lựa chọn của người dùng với giải pháp và tăng điểm nếu đúng
nếu [ "$user_choice" == [ "$câu hỏi" == "$answer" ]
sau đó
điểm=$(( ++điểm ))
echo "Câu trả lời đúng, bạn có $score cho đến thời điểm này"
tôi = ++ tôi
khác
echo "Câu trả lời sai, câu trả lời đúng là $answer"
tôi = ++ tôi
fi
xong
echo "điểm của bạn là: $score trên 10 đúng"
Chúng tôi đang sử dụng tập lệnh hiện có ( https://github.com/h4k1m0u/bash-quiz/blob/master/bash-quiz.sh ) và cố gắng sửa đổi nó theo nhu cầu của chúng tôi nhưng bị kẹt...
Chúng tôi cần lệnh sed để lặp lại kết quả để người dùng của chúng tôi so sánh nhưng nó chỉ lặp lại toàn bộ lệnh
Sau khi lệnh sed đưa ra kết quả, chúng ta cần một vòng lặp if để kiểm tra phản hồi của người dùng là CÓ hay KHÔNG và để so sánh xem phản hồi của người dùng có đúng không...