Script di shell interattive di whiptail

Script di shell interattive di whiptail
Script di shell eseguono la riga di comando per impostazione predefinita. Tuttavia, c'è un modo per creare script di shell interattivi e comporta l'uso del comando whiptail Linux. Puoi creare dialogiche diverse che fanno risaltare i tuoi script con Whiptail.

Gli script fanno parte della vita di Linux e se riesci a trovare un modo per creare interfacce utente del terminale che rendono le cose più fighi, meglio è. Questa guida discuterà usando Whiptail e le sue diverse finestre di dialogo con esempi. Cominciamo.

Installazione di whiptail

Installa whiptail utilizzando il seguente comando:

$ sudo apt installare whipptail

scatole di whiptail

Quando si utilizza Whiptail, ci sono diverse scatole a tua disposizione. Discuteremo ciascuno con esempi. Ogni casella di whipptail deve specificare la dimensione della finestra di dialogo.

Casella dei messaggi

Una casella di messaggio visualizza un messaggio al lettore e ha solo un pulsante OK in quanto non è necessaria alcuna risposta. Inoltre, l'esecuzione dello script può procedere solo una volta quando viene premuto il pulsante INVIO.

$ whiptail -MSGBox "Un esempio di una casella di messaggio. Premi OK per continuare."10 50

Le 10 e 50 rappresentano la larghezza e l'altezza.

Sì/No Box

Dove è necessario ottenere la risposta dell'utente con uno dei due O NO Prima di procedere, utilizzare il file -si No opzione.

È possibile creare uno script bash come mostrato di seguito, quindi salvarlo, renderlo eseguibile ed eseguirlo:

Ecco la scatola di whiptil Sì/No.

L'output che viene visualizzato dal terminale dipende da ciò che l'utente sceglie.

Casella di testo

È possibile visualizzare il contenuto di un file utilizzando una casella di testo. Se il contenuto del file è abbondante e deve essere scorciato, è possibile aggiungere il -scrolltext opzione.

Nel nostro caso, apriremo un file, Whiptail.TXT.

$ whiptail --TextBox - -SCrollText Whiptail.txt 10 50

Per chiudere la casella di testo, fare clic sul tasto Invio una volta evidenziato il pulsante OK.

Barra di avanzamento

La sintassi per la creazione di una barra di avanzamento è:

$ --gauge

È necessario definire il nome della barra di avanzamento e la percentuale. Quindi, includi dove iniziare il contatore. Nel nostro caso, il nostro contatore parte da 0 a 100. Useremo un ciclo while per incrementare il contatore di 15 e impostare un tempo di sonno di 1 secondo prima dell'incremento successivo.

La barra di avanzamento dovrebbe apparire come l'immagine fornita di seguito:

Casella password

Quando è necessario che l'utente inserisca una password in una casella di input e nasconda il testo semplice, usa il -Passwordbox Per creare una casella password.

$ whiptail -Title "Inserisci la tua password" - -PassWordBox "Scegli una password forte" 10 50

IL -titolo L'opzione aggiunge un titolo alla casella Whiptil.

Una volta immessa la password e premi il pulsante OK, la password immessa verrà visualizzata nella riga di comando.

Casella di input

È possibile ottenere l'input dell'utente quando si scrive uno script e salvarlo per altre cose. Tuttavia, Whiptail invia l'input al Stderr. Pertanto, è necessario invertire la direzione dell'input da visualizzare sul stdout Invece. Per raggiungere questo obiettivo, devi aggiungere 3> & 1 1> & 2 2> & 3.

Creiamo uno script bash che chiede agli utenti di inserire il proprio nome e quindi visualizzarlo con un messaggio di benvenuto utilizzando una finestra di messaggio.

Esegui lo script. L'output dovrebbe essere prima una casella di input, quindi una casella di messaggio.

La casella di messaggio visualizzerà il nome inserito.

Casella di menu

L'utente deve solo premere il tasto Invio per una barra del menu per selezionare una voce di menu. Inoltre, nessun elemento predefinito viene impostato. L'elemento selezionato viene restituito a Stderr.

L'output sarà:

Scatola radiolista

Quando l'utente deve selezionare una sola opzione, è possibile scegliere di utilizzare un radiolista.

Creeremo un elenco di opzioni, in cui l'utente può selezionarne solo una. L'elemento selezionato verrà visualizzato sulla riga di comando. premi il barra spaziale e quindi premi il tasto Invio per scegliere un elemento.

L'output verrà visualizzata sulla seguente riga di comando:

Casella dell'elenco di controllo

Funziona allo stesso modo di un radiolista, ma puoi selezionare più di un elemento con l'elenco di controllo. Inoltre, è possibile impostare i valori predefiniti impostandoli SU.

La nostra casella di visualizzazione dell'elenco di controllo:

Il risultato:

Conclusione

Whiptail ti offre diverse finestre di dialogo per varie attività. In questo articolo, abbiamo coperto la maggior parte delle scatole di whiptil che puoi usare. Il modo in cui si sceglie di visualizzare l'output degli script è interamente in base alle tue preferenze. Tuttavia, è possibile utilizzare la riga di comando o le caselle di whipptail a condizione che funzioni per te. Inoltre, controlla la pagina del man whiptail e il sito Web Linuxhint per ulteriori suggerimenti.