Leggere lo standard input in Linux con read

Mattepuffo's logo
Leggere lo standard input in Linux con read

Leggere lo standard input in Linux con read

read è un comando built-in di Linux che legge lo standard input e lo "inserisce" nelle variabili.

Detto così magari non si capisce un granchè, quindi andiamo a fare qualche esempio.

Partiamo da questo (io l'ho inserito dentro ad un file sh):

read -p "Inserisci il tuo nome e congome: " nome cognome
echo "Ciao, $nome $cognome!"

Quando lo avviate, il terminale rimane in attesa che scriviate i vostri dati.

Se dovete inserire dati sensibili, tipo una password:

read -sp "Inserisci la tua password: " password
echo -e "\nPassword settata!"

Vi sembrerà di non scrivere nulla, ma in realtà state scrivendo.

È anche possibile stabile un timeout per la scelta:

read -t 5 -p "Hai 5 secondi per scegliere il tuo username: " username
if [ -z "$username" ]; then
  echo -e "\nTempo scaduto, il tuo username è DEFAULT!"
else
  echo "Il tuo username è $username"
fi

E fare tante altre cose ovviamente.

Enjoy!


Condividi

Commentami!