Vrem să comparăm fișierul 1 (întrebări) cu fișierul 2 (răspunsuri).
Fișier 1:
1
2
3
Fișier 2:
1
2
3
Întrebați utilizatorul: „1” (de la file1 line1) este egal cu „1” (din file2 line1)?
Utilizatorul scrie DA sau NU și primește răspunsul corect dacă a fost corect. Dacă este corect, adăugați +1 la răspunsurile corecte și apoi afișați cantitatea de răspunsuri corecte.
Căutăm să facem acest lucru pentru până la 10 întrebări/răspunsuri...
Iată un exemplu de unde ne aflăm până acum:
#!/bin/bash
clar
#constant
scor=0
fișier1=fișier1.txt
fișier2=fișier2.txt
#mesaj de intampinare
ecou
ecou
echo „Bine ați venit la Testul de scripturi Lab 4.2!”
echo "Aici vi se vor pune întrebări și trebuie să oferiți răspunsul corect..."
ecou
ecou
# buclă
i=0
în timp ce [[ i -le 10 ]]
do
#parse fișiere pentru întrebare și răspuns
întrebare='sed -n $i{p} $fișier1'
answer='sed -n $i{p} $fișier2'
#printați întrebarea și răspunsul pentru utilizator
echo „Este $întrebare”
echo "La fel ca $answer?"
#citește alegerea utilizatorului
citește -p "- Răspunsul tău: (DA sau NU) " user_choice
#comparați alegerea utilizatorului cu soluția și creșteți scorul dacă este corect
if [ "$user_choice" == [ "$intrebare" == "$răspuns" ]
atunci
scor=$(( ++scor ))
echo "Răspunsul corect, ai $score corect până acum"
i=++i
altfel
echo "Răspuns greșit, răspunsul corect este $answer"
i=++i
fi
Terminat
echo „scorul tău este: $score din 10 corect”
Folosim un script existent ( https://github.com/h4k1m0u/bash-quiz/blob/master/bash-quiz.sh ) și încercăm să-l modificăm conform nevoilor noastre, dar suntem blocați...
Avem nevoie de comanda sed pentru a ecou un rezultat pentru ca utilizatorul nostru să-l compare, dar ecou doar comanda completă
După ce comanda sed ecou un rezultat, avem nevoie de o buclă if pentru a verifica răspunsul utilizatorului la DA sau NU și pentru a compara dacă răspunsul utilizatorului este corect...