Menu
Coddy logo textTech

Podsumowanie — zgadywanie liczby

Część sekcji Podstawy ścieżki Terminal w Coddy. Lekcja 73 z 82.

challenge icon

Wyzwanie

Łatwy

Utwórz skrypt powłoki o nazwie guesser.sh, który symuluje zgadywanie liczby przy użyciu ustalonej sekwencji prób.

Twój skrypt powinien:

  1. Zaczynać się od wiersza shebang (#!/bin/bash)
  2. Ustawić zmienną o nazwie secret na wartość 5
  3. Ustawić zmienną o nazwie guess na wartość początkową 0
  4. Użyć pętli while, która działa tak długo, jak guess nie jest równe secret
  5. Wewnątrz pętli zwiększyć guess o 1
  6. Użyć instrukcji if, aby sprawdzić próbę:
    • Jeśli guess jest mniejsze niż secret, wypisać: Guess [guess]: Too low!
    • Jeśli guess jest równe secret, wypisać: Guess [guess]: Correct!

Nadaj skryptowi uprawnienia do wykonywania i uruchom go. Wynik powinien być następujący:

Guess 1: Too low!
Guess 2: Too low!
Guess 3: Too low!
Guess 4: Too low!
Guess 5: Correct!

Zapisanie wielowierszowego skryptu za pomocą jednego echo w każdym wierszu działa, ale jest krótszy sposób: dokument here przekazuje wszystko aż do słowa zamykającego bezpośrednio do pliku.

cat > script.sh << 'EOF'
#!/bin/bash
echo "hello"
EOF

Cudzysłowy wokół 'EOF' zapobiegają rozwinięciu $variables podczas zapisywania pliku — właśnie tego potrzebujesz, gdy skrypt sam z nich korzysta.

Podpowiedź: Użyj -ne dla warunku „nie jest równe” w warunku while, -lt dla „jest mniejsze niż” w instrukcji if oraz -eq dla „jest równe”. Zwiększaj wartość guess na początku każdej iteracji pętli za pomocą guess=$((guess + 1)).

Spróbuj swoich sił

Terminal

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Terminal