เราต้องการเปรียบเทียบ file1 (คำถาม) กับ file2 (คำตอบ)
ไฟล์ 1:
1
2
3
ไฟล์ 2:
1
2
3
ถามผู้ใช้: "1" (จาก file1 line1) เท่ากับ "1" (จาก file2 line1) หรือไม่
ผู้ใช้พิมพ์ YES หรือ NO และรับคำตอบที่ถูกต้องหากถูกต้อง หากถูกต้องให้เพิ่ม +1 เพื่อแก้ไขคำตอบ จากนั้นแสดงจำนวนคำตอบที่ถูกต้อง
เรากำลังมองหาสิ่งนี้สำหรับคำถาม/คำตอบสูงสุด 10 ข้อ...
นี่คือตัวอย่างว่าเราอยู่ที่ไหน:
#!/bin/bash
แจ่มใส
#คงที่
คะแนน=0
ไฟล์1=file1.txt
file2=file2.txt
#ข้อความยินดีต้อนรับ
เสียงสะท้อน
เสียงสะท้อน
echo "ยินดีต้อนรับสู่ Lab 4.2 Script Quiz!"
echo "ที่นี่จะมีการถามคำถามและต้องระบุคำตอบที่ถูกต้อง..."
เสียงสะท้อน
เสียงสะท้อน
#ห่วง
ฉัน=0
ในขณะที่ [[ ฉัน -le 10 ]]
ทำ
#แยกไฟล์สำหรับคำถามและคำตอบ
คำถาม='sed -n $i{p} $file1'
answer='sed -n $i{p} $file2'
#พิมพ์คำถามและคำตอบสำหรับผู้ใช้
echo "เป็น $question"
echo "เหมือนกับ $answer หรือไม่"
#อ่านทางเลือกของผู้ใช้
อ่าน -p "- คำตอบของคุณ: (ใช่ หรือ ไม่ใช่) " user_choice
#เปรียบเทียบตัวเลือกของผู้ใช้กับโซลูชันและเพิ่มคะแนนหากถูกต้อง
ถ้า [ "$user_choice" == [ "$question" == "$answer" ]
แล้ว
คะแนน=$(( ++ คะแนน ))
echo "คำตอบถูกต้อง คุณมี $score ถูกต้องแล้ว"
ฉัน=++ฉัน
อื่น
echo "ตอบผิด คำตอบที่ถูกต้องคือ $answer"
ฉัน=++ฉัน
ไฟ
เสร็จแล้ว
echo "คะแนนของคุณคือ: คะแนน $เต็ม 10 ถูกต้อง"
เรากำลังใช้สคริปต์ที่มีอยู่ ( https://github.com/h4k1m0u/bash-quiz/blob/master/bash-quiz.sh ) และพยายามแก้ไขให้เข้ากับความต้องการของเรา แต่ติดขัด...
เราต้องการคำสั่ง sed เพื่อสะท้อนผลลัพธ์สำหรับผู้ใช้ของเราเพื่อเปรียบเทียบ แต่มันกลับสะท้อนคำสั่งแบบเต็มเท่านั้น
หลังจากคำสั่ง sed echo ผลลัพธ์ เราจำเป็นต้องมี if loop เพื่อตรวจสอบการตอบสนองของผู้ใช้ว่าใช่หรือไม่ใช่ และเพื่อเปรียบเทียบว่าการตอบสนองของผู้ใช้นั้นถูกต้องหรือไม่...