In questo argomento, impareremo come leggere l’input dell’utente dal terminale e dallo script.
Per leggere l’input dell’utente in Bash, usiamo il comando integrato in Bash chiamato read. Prende l’input dall’utente e lo assegna alla variabile. Legge solo una singola linea dalla shell Bash. Sotto c’è la sintassi per la sua implementazione.
Sintassi
Seguite gli esempi dati per leggere l’input dell’utente dallo script Bash:
Esempio 1:
In questo esempio, abbiamo letto sia le variabili singole che quelle multiple dallo script Bash usando il comando read.
Programma:
Vedi la console Bash:
Output:
Cosa succede se non passiamo nessuna variabile con il comando read?
Se non passiamo nessuna variabile con il comando read, allora possiamo passare una variabile incorporata chiamata REPLY (dovrebbe essere preceduta dal segno $) durante la visualizzazione dell’input. Può essere spiegato usando il seguente programma:
Programma:
Sulla console Bash:
Output:
Esempio 2:
In questo esempio, inseriamo l’input sullo stesso PROMPT usando l’opzione -p della linea di comando come segue:
Programma:
Vedi la console Bash:
Output:
Esempio 3:
Questo esempio consiste nel mantenere l’input in modalità silenziosa, in modo che qualunque sia l’input dell’utente sulla linea di comando sarà nascosto agli altri.
Quindi, passiamo un nome utente e nascondiamo la password (modalità silenziosa) usando le opzioni della linea di comando (-s, -p) comunemente come segue:
Dove -s permette all’utente di mantenere l’input in modalità silenziosa e -p di inserire l’input sul nuovo prompt dei comandi.
Programma:
Vedi la console Bash:
Output:
NOTA: Alla 5° linea dello script, abbiamo dato una linea vuota con il comando echo, perché se non la rendiamo vuota allora, darà un output con sia la password che il nome utente sullo stesso PROMPT come l’immagine sottostante.
Quindi, scrivete il vostro script aggiungendo una linea di comando echo vuota.
Esempio 4: Questo esempio è per inserire input multipli usando un array. Quindi usate l’opzione -a della linea di comando come segue:
dove -a aiuta lo script a leggere un array e variable_name si riferisce ad un array.
Programma:
Vedi il codice sulla console Bash:
Output: