Modi di base su come prendere input da un utente in bash script

Modi di base su come prendere input da un utente in bash script

Leggere l'input dell'utente è parte integrante di uno script bash interattivo. Uno script bash include comandi specifici che il terminale esegue in una sequenza fissa. Allo stesso tempo, uno script bash interattivo è dove l'utente decide cosa succederà dopo.

Entrambi hanno pro e contro, ma è bene imparare i modi di base per leggere un input degli utenti durante l'esecuzione di uno script bash. Questa guida include il metodo per leggere l'input dell'utente tramite il comando di lettura e passare gli ingressi come parametro quando si esegue uno script bash.

Modi di base su come prendere input da un utente in bash script

Il comando di lettura mette in pausa la console e attende l'input dell'utente. È possibile utilizzare questo comando così com'è nel terminale o può essere utilizzato con gli altri comandi all'interno di uno script bash per accettare l'input dell'utente durante l'esecuzione di uno script. Ad esempio, creiamo uno script bash di esempio che contiene i seguenti codici:

#!/Bin/Bash
# Leggi l'input dell'utente utilizzando il comando di lettura
Leggi Param1
Echo $ param1

Nel frammento di codice precedente, abbiamo creato uno script bash per accettare un input dall'utente utilizzando il Leggi il comando e stampalo indietro nella console usando il comando eco. Ora, possiamo eseguire lo script nel terminale e inserire la parola "Linux". Il sistema ristampa automaticamente la parola:

.//Linux
Linux

Se si desidera inserire più variabili, è possibile utilizzare il seguente script come esempio:

#!/Bin/Bash
# Leggi l'input dell'utente utilizzando il comando di lettura
Leggi Param1
Leggi Param2
Leggi Param3
Leggi Param4
Echo "Il miglior sistema operativo Linux è:"
Echo $ param1
Echo $ param2
Echo $ param3
Echo $ param4

Una volta eseguito questo script, il terminale ti chiederà di fornire 4 input per stamparli come output:

.//Ubuntu
Fedora
Kali Linux
Arch Linux
Il miglior sistema operativo Linux è:
Ubuntu
Fedora
Kali Linux
Arch Linux

Puoi aggiungere un -b band con il comando di lettura se non si desidera stampare l'ingresso. Il flag -s accetta silenziosamente l'input dell'utente nel terminale e lo stampa quando un utente preme il pulsante INVIO. Ecco il codice di script che puoi provare:

#!/Bin/Bash
# Leggi l'input dell'utente utilizzando il comando di lettura
Leggi -s Param1
Echo $ param1

Lo script precedente stampa i seguenti risultati dopo la riuscita esecuzione:

.//Linux

Se vuoi stampare qualcosa con un limite di tempo specifico, usa il -T bandiera con il comando di lettura. Quando si fornisce l'input a quel tempo specificato, lo script procede normalmente o semplicemente salta l'input e continua con il resto dello script.

#!/Bin/Bash
# Leggi l'input dell'utente utilizzando il comando di lettura
Leggi -t 5 param1
Echo $ param1
echo "Sarà stampato?"

Secondo lo script precedente, il sistema aspetterà 5 secondi per l'input e poi lo salti per eseguire il resto dello script.

.//Questo verrà stampato?

È possibile utilizzare il flag -n per limitare il numero di caratteri input per uno script. Ad esempio, il seguente script richiede 7 caratteri per eseguire correttamente il resto dello script:

#!/Bin/Bash
# Leggi l'input dell'utente utilizzando il comando di lettura
Echo "L'input verrà inviato dopo aver accettato 7 caratteri"
Leggi -N 7 Param1
# Stampa l'ingresso che l'utente ha digitato
Echo $ param1

Secondo lo script, avresti inviato l'input dopo 7 caratteri, ed è quello che è successo nel seguente:

.//Linuxoslinuxos

Conclusione

Questa è la breve informazione sui metodi su come prendere un input da un utente in uno script bash. Tutti sono piuttosto semplici. In una nota a margine, possiamo anche mescolare e abbinare questi parametri per inserire la variabile. Come principiante, gli esempi indicati possono aiutarti a creare lo script e inserire i dettagli desiderati.