Whiptail interaktive skallskript

Whiptail interaktive skallskript
Shell -skript kjøres på kommandolinjen som standard. Imidlertid er det en måte å lage interaktive skallskript, og det innebærer å bruke Whiptail Linux -kommandoen. Du kan opprette forskjellige dialogbokser som får skriptene dine til å skille seg ut med Whiptail.

Skript er en del av Linux -livet, og hvis du kan finne en måte å lage terminale brukergrensesnitt som får ting til å se kulere ut, jo bedre. Denne guiden vil diskutere ved bruk av Whiptail og dens forskjellige dialogbokser med eksempler. La oss begynne.

Installere Whiptail

Installer whiptail ved å bruke følgende kommando:

$ sudo apt install whiptail

Whiptail -bokser

Når du bruker whiptail, er det forskjellige bokser til din disposisjon. Vi vil diskutere hvert med eksempler. Hver whiptail -boks må spesifisere størrelsen på dialogboksen.

Meldingsboks

En meldingsboks viser en melding til leseren og har bare en OK -knapp da det ikke er nødvendig med noe svar. Dessuten kan utførelse av skriptet bare fortsette en gang når enter -knappen blir trykket på.

$ Whiptail - -MsgBox "Et eksempel på en meldingsboks. Trykk OK for å fortsette."10 50

10 og 50 representerer bredden og høyden.

Ja/Nei boks

Hvor du trenger å få brukeren svar med en Ja eller Nei Før du fortsetter, bruk -Ja Nei alternativ.

Du kan lage et bash -skript som vist nedenfor, deretter lagre det, gjøre det kjøres og kjøre det:

Her er Ja/Nei Whiptail Box.

Utgangen som vises på terminalen avhenger av hva brukeren velger.

Tekstboks

Du kan vise innholdet i en fil ved hjelp av en tekstboks. Hvis filinnholdet er rikelig og må rulles, kan du legge til -rulleekst alternativ.

I vårt tilfelle åpner vi en fil, Whiptail.tekst.

$ whiptail - - -textbox - --crolltext whiptail.txt 10 50

For å lukke tekstboksen, klikker du på Enter -tasten når OK -knappen er uthevet.

Progress Bar

Syntaksen for å lage en fremdriftslinje er:

$ -GAUGE

Du må definere navnet på fremdriftslinjen og prosentandelen. Inkluder da hvor du kan starte disken. I vårt tilfelle starter disken fra 0 til 100. Vi vil bruke en stundsløyfe for å øke disken med 15 og sette en søvntid på 1 sekund før neste økning.

Fremdriftslinjen skal se ut som bildet som er gitt nedenfor:

Passordboks

Når du trenger brukeren for å oppgi et passord i en inngangsboks og skjule den vanlige teksten, bruker du -Passwordbox For å opprette en passordboks.

$ Whiptail -Title "Skriv inn passordet ditt" -Passwordbox "Velg et sterkt passord" 10 50

De -tittel Alternativet legger til en tittel i Whiptail Box.

Når du har angitt passordet og trykker på OK -knappen, vises det angitte passordet på kommandolinjen.

Inngangsboks

Du kan få brukeren til brukeren når du skriver et skript og lagrer det for bruk med andre ting. Whiptail sender imidlertid innspill til Stderr. Derfor må du snu retningen på inngangen for å vises på stdout i stedet. For å oppnå det, må du legge til 3> & 1 1> & 2 2> & 3.

La oss lage et bash -skript som ber brukere om å oppgi navnet sitt og deretter vise det med en velkomstmelding ved hjelp av en meldingsboks.

Kjør manuset. Utgangen skal først være en inngangsboks, deretter en meldingsboks.

Meldingsboksen vil vise navnet som er angitt.

Menyboks

Brukeren trenger bare å trykke på Enter -tasten for en menylinje for å velge et menyelement. Videre blir ingen standardvare satt. Den valgte varen blir returnert til stderr.

Utgangen vil være:

Radiolistboks

Når brukeren bare trenger å velge ett alternativ, kan du velge å bruke en radiolist.

Vi oppretter en liste over alternativer, der brukeren bare kan velge en. Det valgte elementet vises på kommandolinjen. trykk romfelt og treffer enter -tasten for å velge et element.

Utgangen vises på følgende kommandolinje:

Sjekklisteboks

Det fungerer på samme måte som en radiolist, men du kan velge mer enn ett element med sjekklisten. Dessuten kan du angi standardverdiene ved å angi dem .

Vår sjekkliste -skjermboks:

Utgangen:

Konklusjon

Whiptail tilbyr deg forskjellige dialogbokser for forskjellige aktiviteter. I denne artikkelen har vi dekket de fleste av Whiptail -boksene du kan bruke. Hvordan du velger å vise utdataene fra skriptene er helt basert på din preferanse. Du kan imidlertid bruke kommandolinjen eller whiptail -bokser forutsatt at den fungerer for deg. Sjekk også Whiptail Man -siden og Linuxhint -nettstedet for flere tips.