Input utente Bash Script

Input utente Bash Script
Prendere input dall'utente è un'attività comune per qualsiasi linguaggio di programmazione. Puoi prendere input da un utente in Bash Script in più modi. Un comando di lettura viene utilizzato nello script bash per prendere i dati dall'utente. I dati singoli o multipli possono essere presi nello script bash applicando diverse opzioni del comando di lettura. Alcuni usi comuni del comando di lettura sono mostrati in questo tutorial.

Opzione del comando di lettura:

Opzione Scopo
-P Viene utilizzato per fornire un messaggio di aiuto per l'utente prima del prompt di input.
-S Viene utilizzato per prendere invisibili input dall'utente. Questa opzione viene utilizzata per prendere una password o dati segreti. Si chiama modalità silenziosa.
-T Viene utilizzato per impostare il tempo in pochi secondi per attendere l'assunzione di input dall'utente.
-N Viene utilizzato per impostare il limite dei caratteri di input.

Esempio-1: utilizzo del comando di lettura senza variabile

Il comando di lettura può essere utilizzato senza alcuna variabile. IL $ Rispondi La variabile viene utilizzata per leggere l'input prelevato dall'utente dal comando di lettura senza variabile. Crea un file bash con il seguente script per sapere come utilizzare il comando di lettura senza alcuna variabile.

#!/Bin/Bash
echo "Qual è il tuo linguaggio di programmazione preferito?"
# Prendi input senza definire la variabile
Leggere
# Stampa il valore di input
echo "La tua risposta è $ risposta"

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-2: usando il comando di lettura semplice

Crea un file bash con il seguente script per sapere come utilizzare il comando di lettura con una variabile. Dopo aver eseguito lo script, il programma attenderà l'input dell'utente. Quando l'utente digita i dati e premi Invio, i dati verranno archiviati in la risposta variabile. Il valore del risposta La variabile verrà stampata in seguito.

#!/Bin/Bash
echo -n "Qual è il tuo cibo preferito:"
# Assegna il valore di input in una variabile
Leggi la risposta
# Stampa il valore della variabile
echo "Oh! ti piace $ rispondi!"

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-3: Utilizzo del comando di lettura con le opzioni

Crea un file bash con il seguente script per sapere come utilizzare entrambe le opzioni -p e -s insieme nello script bash. In questo esempio, il nome utente e la password verranno prelevati dall'utente e confrontati con il valore particolare per verificare che il nome utente e la password siano validi o meno.

#!/Bin/Bash
# Digita le tue informazioni di accesso
Leggi -p 'nome utente:' utente
Leggi -sp 'Password:' Pass
# Controllare il nome utente e la password sono validi o no
if (($ user == "admin" && $ pass == "12345"))
Poi
echo -e "\ nsucceful login"
altro
echo -e "\ nunsucceful login"
fi

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-4: Utilizzo del comando Read per prendere più input

I più input possono essere presi alla volta utilizzando il comando di lettura con più nomi di variabili. Nell'esempio seguente, verranno presi quattro input in quattro variabili utilizzando il comando di lettura.

#!/Bin/Bash
# Prendendo più input
Echo "Tipo quattro nomi dei tuoi linguaggi di programmazione preferiti"
Leggi LAN1 LAN2 LAN3 LAN4
Echo "$ LAN1 è la tua prima scelta"
Echo "$ LAN2 è la tua seconda scelta"
Echo "$ LAN3 è la tua terza scelta"
Echo "$ LAN4 è la tua quarta scelta"

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-5: usando il comando di lettura con il limite di tempo

Crea un file bash con il seguente script per prendere input limitati dall'utente. Qui, il tempo verrà conteggiato in pochi secondi. Nell'esempio seguente, il programma attenderà 5 secondi per l'input dell'utente e se l'utente non è in grado di digitare i dati entro 5 secondi, il programma uscirà senza valore.

#!/Bin/Bash
# Prendi input con limite di tempo
Leggi -t 5 -P "Digita il tuo colore preferito:" Colore
# Stampa il valore di input
Echo $ Color

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Il valore di input è stato dato nella prima esecuzione e nella seconda esecuzione, nessun valore di input è stato dato entro 5 secondi.

Esempio -6: utilizzo del comando di lettura con -n

Crea un file bash con il seguente script per prendere input di una lunghezza specifica. Secondo lo script, l'utente sarà in grado di inserire un massimo di 15 caratteri come input.

#!/Bin/Bash
Echo "Inserisci il numero di telefono (massimo 15 caratteri):"
# Prendi input di un massimo di 15 caratteri
Leggi -N 15 Telefono
# Aggiungi una nuova linea
eco
# Stampa il valore di input
Echo "Il tuo numero di telefono è $ telefono"

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-7: controllare un percorso preso è file o directory

Crea un file bash con il seguente script per prendere un valore per il percorso dal terminale e controllare che il percorso di input è una directory o un file.

#!/Bin/Bash
# Prendi il valore del percorso dall'input
Leggi -P "Immettere il percorso valido:"
# Controllare i valori di input è una directory o no
if [-d $ path]; Poi
Echo "$ Path è una directory."
# Controllare i valori di input è un file o no
Elif [-f "$ Path"]; Poi
echo "$ path è un file."
altro
Echo "percorso non valido."
fi

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-8: Inizializza l'array usando il comando di lettura

La variabile dell'array può essere dichiarata e inizializzata utilizzando il comando di lettura. Crea un file bash con il seguente script per sapere come creare e inizializzare un array utilizzando il comando di lettura. Successivamente, tutti gli elementi dell'array, il primo elemento dell'array, i primi due elementi e l'ultimo elemento dell'array saranno stampati.

#!/Bin/Bash
Echo "Immettere cinque valori numerici per l'array con spazio:"
# Leggi i valori per l'array
Leggi -A Myarr
# Stampa tutti i valori dell'array
echo $ myarr [@]
# Stampa il primo valore dell'array
echo $ myarr [0]
# Stampa i primi due valori dell'array
echo $ myarr [@]: 0: 2
# Stampa l'ultimo valore dell'array
echo $ myarr [4]

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Conclusione:

In questo tutorial sono stati mostrati diversi usi del comando di lettura utilizzando più esempi per aiutare gli utenti bash a conoscere correttamente gli usi di questo comando e applicarlo al proprio script.