Først sjekk ut den grunnleggende syntaksen for "les" -kommandoen:
les [alternativ] variabelÅ bruke "lese" -kommandoen betyr at du kommuniserer med Bash for å få informasjon fra brukeren. Det lagrer verdien i en variabel, men uten “$”Tegn. Du vil kunne forstå dette konseptet bedre med et eksempel.
Eksempel 1: Bruke "lese" -kommandoen i et Bash-skript
For å undersøke "lese" -kommandoen mer grundig, vil vi lage et enkelt skript som vil be om brukerens navn. Først åpner du hvilken som helst tekstredigerer; for denne opplæringen bruker jeg Vim-teksteditoren på grunn av dens mange nyttige funksjoner. For å installere Vim, utfør følgende kommando i terminalen:
$ sudo apt installere vimDeretter skriver du inn følgende i tekstfilen:
#! \ bin \ bashekko “Vennligst skriv inn navnet ditt”
lese navnet
ekko “Ditt navn er” $ name
Lagre filen med et hvilket som helst navn, og trykk deretter på Esc og skriv “: w readcom.sh.”For å kjøre skriptet, send følgende kommando:
$ bash readcom.shOvenstående skript vil be brukeren om å skrive navnet sitt. “Les” -kommandoen vil da lagre input fra brukeren. Den neste linjen vil skrive ut navnet som brukeren skriver inn.
Eksempel 2: Forenkling av kode ved bruk av "ledetekst" -operatøren
Eksemplet ovenfor kan forenkles ytterligere ved å bruke “spør”Operatør. La oss skrive eksemplet ovenfor for å forstå koden:
#! / bin / bashles -p “Vennligst skriv inn navnet ditt”
ekko “Your name is” $ name
Eksempel 3: Skjule brukerinngangen ved hjelp av den "hemmelige / lydløse" operatøren
“-s”-Flagg kan brukes til å skjule brukerens innspill. Følgende Bash-skripteksempel viser deg hvordan du bruker operatøren “-s”:
#! / bin / bashles -p “Vennligst skriv inn brukernavnet ditt” brukernavn
les -s -p “Vennligst skriv inn passordet ditt” $ passord
Eksempel 4: Begrensning av tegnlengden
“-n”-Flagg kan brukes til å legge til en begrensning i antall tegn som brukeren kan legge inn.
#!/ bin / bashles -n 8 -p “Vennligst skriv inn brukernavnet ditt som ikke overstiger 8 tegn” brukernavn
ekko “Ditt brukernavn er” $ brukernavn
Med alternativet “-n” kan brukeren fortsatt skrive mindre enn åtte tegn. For ytterligere å begrense inngangslengden,-N”-Flagg kan brukes, som begrenser brukerens respons til nøyaktig åtte tegn.
Eksempel 5: Få inngangen i en matrise
Brukerinngangen kan også tas i en matrise med “-en" flagg. For eksempel, for å få brukerens navn, alder og e-postadresse på en gang, kan vi bruke en matrise. La oss se på et eksempel:
#! / bin / bashekko “Vennligst skriv inn navn, alder og e-postadresse”
les -en matrise navn alder e-post
ekko “Ditt navn, alder og e-postadresse er: $ array [@] name age email”
ekko “Ditt navn og alder er: $ array [@]: 0: 1 navn alder”
ekko “E-postadressen din er: $ array [2] e-post”
- “$ Array [@]” vil gå gjennom alle variablene.
- For å gjenta gjennom indeksene 0 til 1, bruk “$ array [@]: 0: 1” med variabelnavnene.
- For å oppnå verdien av en bestemt variabel ved en bestemt indeks, bruk “$ array [2]” med variabelnavnet.
Eksempel 6: Legge til en tidsavbrudd i "lese" -kommandoen
Som navnet på kommandoen indikerer, kan en tidsavbrudd legges til som en betingelse for å lese koden ved hjelp av “-t” -flagget, noe som gjør at brukeren legger inn informasjon for en bestemt tid. Ellers flytter programmet til neste kodelinje.
#! \ bin \ bashekko “Hva er hovedstaden i Japan? Svar på 5 sekunder ”
les -t 5 svar
hvis [“$ answer” = “tokyo”] || [“$ Answer” = “Tokyo”];
deretter
ekko “Ditt svar er riktig!”
ellers
ekko “Svaret ditt er galt!”
fi
Konklusjon
Å få innspill fra en brukerinngang er en av de viktigste delene av programmering, noe som gjør programmene dine mer interaktive. Denne artikkelen viste deg hvordan du bruker "lese" -kommandoen, en av nøkkelkommandoene i Bash-skripting. I denne artikkelen lærte du om noen av de forskjellige tilnærmingene du kan bruke med "les" -kommandoen, fra grunnleggende flaggoperatører til avanserte operatører.