Menu
Coddy logo textTech

Riepilogo: indovina il numero

Fa parte della sezione Fondamenti del percorso Terminal di Coddy. Lezione 73 di 82.

challenge icon

Sfida

Facile

Crea uno script shell chiamato guesser.sh che simuli un gioco di indovinare un numero con una sequenza fissa di tentativi.

Il tuo script dovrebbe:

  1. Iniziare con la riga shebang (#!/bin/bash)
  2. Impostare una variabile chiamata secret con il valore 5
  3. Impostare una variabile chiamata guess con il valore iniziale 0
  4. Usare un ciclo while che continua finché guess non è uguale a secret
  5. All'interno del ciclo, incrementare guess di 1
  6. Usare un'istruzione if per controllare il tentativo:
    • Se guess è minore di secret, stampare: Guess [guess]: Too low!
    • Se guess è uguale a secret, stampare: Guess [guess]: Correct!

Rendi eseguibile lo script ed eseguilo. L'output dovrebbe essere:

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

Scrivere uno script su più righe con un echo per ogni riga funziona, ma c'è un modo più breve: un here document inserisce direttamente nel file tutto ciò che precede la parola di chiusura.

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

Le virgolette attorno a 'EOF' impediscono l'espansione di $variables mentre il file viene scritto, ed è proprio quello che vuoi quando lo script stesso li usa.

Suggerimento: Usa -ne per "diverso da" nella condizione while, -lt per "minore di" nell'istruzione if e -eq per "uguale a". Incrementa il tentativo all'inizio di ogni iterazione del ciclo con guess=$((guess + 1)).

Provalo tu

Terminale

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Terminal