Come fare uno script di shell attendere l'input dell'utente - bash

Come fare uno script di shell attendere l'input dell'utente - bash
Quando si crea uno script bash, è importante poter richiedere agli utenti l'input. Questo può essere fatto usando il comando "leggi", ma può essere complicato usarlo in un modo che fa fermare lo script e attendere la risposta dell'utente. Questo articolo esplorerà vari metodi per fare uno script SH attendere l'input dell'utente in bash, quindi se sei interessato, segui questa guida.
  • Usando il comando di lettura
  • Utilizzo del comando seleziona

Come utilizzare il comando Lettura per far attendere lo script bash per l'input dell'utente

In Bash, puoi fare un .script sh attendere l'input dell'utente utilizzando il comando di lettura. Questo comando consente di leggere l'input dell'utente dal terminale e archiviarlo in una variabile. È quindi possibile utilizzare questa variabile per eseguire varie azioni nel tuo script, ecco uno script bash di esempio che utilizza questo comando:

#!/Bin/Bash
echo "Inserisci il tuo nome?"
Leggi NM
Echo "Saluti, $ nm!"

Quando esegui questo script, ti chiederà di inserire il tuo nome. Dopo averlo inserito e premuto Invio, lo script stamperà un saluto:

Come utilizzare il comando Seleziona per fare in modo che lo script bash attenda l'input dell'utente

Un altro modo per fare un .lo script sh attendere l'input dell'utente è utilizzando il comando seleziona. Il comando "Seleziona" è un altro comando integrato in bash che consente di creare un semplice menu tra cui l'utente, ecco un esempio di script bash che utilizza questo comando:

#!/Bin/Bash
Weather_options = ("Sunny" "nuvoloso" "Windy")
Echo "Scegli il tempo di oggi:"
Seleziona scelta in "$ Weather_options [@]"
Fare
Caso $ scelta in
"soleggiato")
echo "Hai scelto il sole."
rottura
;;
"nuvoloso")
echo "Hai scelto nuvoloso."
rottura
;;
"ventoso")
echo "Hai scelto Windy."
rottura
;;
*)
Echo "opzione non valida. Scegli un'opzione valida."
;;
Esac
Fatto

Nella sceneggiatura, definiamo innanzitutto l'array "Weather_options" con tre opzioni: "Sunny", "Nuvolosa" e "Windy". Quindi utilizziamo il comando "eco" per spingere l'utente a scegliere il tempo di oggi. Successivamente, utilizziamo il comando "Seleziona" per visualizzare un menu numerato dell'array "weather_options" e attendere l'utente di selezionare un'opzione.

L'istruzione "case" viene utilizzata per gestire ogni possibile selezione dell'utente. Se l'utente sceglie "Sunny", "nuvoloso" o "Windy", lo script visualizzerà un messaggio che dice quale opzione è stata scelta e quindi uscirà dal loop usando l'istruzione "Break". Se l'utente inserisce un'opzione non valida, lo script visualizzerà un messaggio che afferma che l'opzione non è valida e richiederà all'utente di scegliere un'opzione valida.

Conclusione

Fare un .lo script sh attendere l'input dell'utente è una parte essenziale della creazione di script interattivi. Esistono due modi per raggiungere questo obiettivo, incluso l'utilizzo del comando Read e Select. Utilizzando questi metodi, è possibile creare potenti script che interagiscono con l'utente e rispondono di conseguenza.