Programmazione BASH

Come posso richiedere l'input in Bash??

Come posso richiedere l'input in Bash??

È spesso necessario eseguire calcoli in base agli input dell'utente durante la creazione di uno script Bash. In questa guida, prima di eseguire un'operazione di base con uno script di shell, diamo uno sguardo all'interpretazione e alla verifica degli input dell'utente. Useremo il comando di lettura integrato di Bash per interpretare l'input dell'utente di Bash. Il comando read prende un valore come input tramite l'utente e lo assegna alla variabile. Ha letto solo una riga solitaria attraverso il terminale di comando Bash. In questa guida imparerai come interpretare l'input dell'utente dal terminale e dallo script.

Per implementare il comando read, ecco la sintassi:

leggere

Esempio 01:

Facciamo un semplice esempio di lettura dell'input dell'utente in bash quando richiesto. Apri un terminale e crea un nuovo file "input.sh".

Apri il file e aggiungi un piccolo codice come di seguito. In primo luogo, l'istruzione echo chiede all'utente di aggiungere un valore di input. L'istruzione read viene utilizzata per inserire il valore utente, che verrà salvato nella variabile "NAME". L'ultima istruzione echo viene utilizzata per stampare la risposta con il valore immesso come variabile "$NAME".

Esegui il file usando il comando bash. In primo luogo verrà richiesto il nome. Quando l'utente inserisce il valore “Aqsa”, stamperà il messaggio con il valore al suo interno.

Esempio 02:

Apri il vecchio file e scrivici il codice qui sotto. Potremmo utilizzare il comando read integrato; a un utente con una query, usando quell'opzione -p. Devi evocare per utilizzare la parola chiave "readline" -e per consentire la modifica della riga con i tasti freccia. Successivamente, usa la variabile per stampare il percorso di un file inserito da un utente nella shell dei comandi.

Controlliamo l'output di questo codice usando il comando bash nel terminale. Vedrai che chiederà di inserire il percorso del file nella shell. Quando inserisci il valore richiesto e premi Invio, lo stamperà.

$ bash input.sh

Se vuoi suggerire una risposta, devi usare la parola chiave “-i” dopo la stringa con il percorso tra virgolette.

Controlliamo l'output per il codice aggiornato usando il comando bash. Percepirai che ti suggerirà un percorso di file come di seguito.

Esempio 03:

Facciamo un altro esempio di richiesta di input in una shell. Annotare il codice sottostante nel file “input.sh". Abbiamo due comandi di lettura per aggiungere le credenziali di accesso di un utente sulla shell. La parola chiave "-sp" viene utilizzata per nascondere la credenziale "Password" durante l'inserimento nella shell.

Durante l'esecuzione, puoi vedere che l'utente ha inserito le sue credenziali mentre la password è nascosta durante l'inserimento. Alla fine, ha visualizzato il messaggio per pagare grazie all'utente.

Esempio 04:

Abbiamo un altro esempio per leggere più nomi di auto come valori dalla shell bash dell'utente. A tal fine, abbiamo richiesto tre variabili come "car1", "car2" e "car3". Abbiamo un commento eco che chiede i nomi delle auto. Il comando di lettura viene utilizzato per leggere i valori immessi (nomi di auto) da un utente in una shell. Le prossime tre istruzioni echo stamperanno i messaggi con i nomi dell'auto consecutivamente.

Usando il comando bash, esegui il file. Ti chiederà i nomi delle auto che ti piacciono. Quando l'utente ha inserito i nomi delle auto consecutivamente, li salverà nelle variabili di un comando di lettura e li stamperà utilizzando le successive tre istruzioni echo una per una.

Esempio 05:

Nell'esempio sopra, abbiamo visto come richiedere l'input dell'utente salvando l'input in tre variabili. In questo esempio, impareremo come leggere i valori immessi dall'utente in una variabile come membri dell'array utilizzando la parola chiave "-a". Quindi, apri lo stesso file e scrivi il codice qui sotto. L'istruzione echo ti chiederà di inserire l'input richiesto. L'istruzione read ha la parola chiave "-a" per prendere più valori dall'utente e salvarli nell'array di variabili "NAMES". All'ultima istruzione echo, tutti i valori immessi vengono stampati come membri dell'array all'interno del testo della stringa.

Durante l'esecuzione del file “input.sh", all'utente è stato chiesto di inserire i valori. Quando l'utente inserisce i valori, questi valori sono stati salvati nella variabile dell'array "NAMES". Dopo aver salvato questi valori, l'istruzione echo verrà eseguita e stamperà i nomi immessi come valori dell'array al suo interno come mostrato.

Esempio 06:

Prendiamo lo stesso file con poche modifiche nello script. Abbiamo scritto due comandi di lettura per prendere valore da un utente come input in una shell e li abbiamo salvati in due variabili, "NUM1" e "NUM2". Successivamente, entrambe le variabili sono state stampate.

Nel terminale di comando, scrivi il comando Chmod per assegnare i privilegi di esecuzione a questo file.

$ chmod +x input.sh

Quando esegui questo file usando bash, vedrai che ti chiederà di aggiungere numeri consecutivamente. Quando inserisci i valori richiesti, stamperà entrambi i numeri separatamente.

Se vuoi confermare che qualsiasi campo o variabile è lasciato vuoto dall'utente, puoi aggiornare il codice precedente come di seguito. La parola chiave "-z" viene utilizzata per controllare entrambe le variabili, se contengono spazi vuoti.

Durante l'esecuzione, l'utente ha aggiunto uno spazio come numero. L'utente ha ricevuto un messaggio per riprovare perché la variabile inserita dall'utente ha degli spazi.

Proviamo lo stesso codice con alcune condizioni sui numeri inseriti dall'utente. Se l'input dell'utente è un carattere diverso da quelli menzionati nel codice sottostante, passerà un messaggio.

Durante il tentativo di questo codice, un utente ha aggiunto un carattere speciale, che genera un messaggio di richiesta.

Conclusione

In questa guida, hai imparato con successo come richiedere l'input dell'utente nella shell e interpretare l'input dell'utente usando alcuni esempi molto semplici.

Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...