Najprej preverite osnovno sintakso ukaza »branje«:
preberi spremenljivko [možnost]Uporaba ukaza »branje« pomeni, da komunicirate z Bashom, da pridobite informacije od uporabnika. Vrednost shrani v spremenljivko, vendar brez$”. Ta koncept boste lahko bolje razumeli s primerom.
Primer 1: Uporaba ukaza »branje« v skriptu Bash
Da bi podrobneje preučili ukaz »branje«, bomo ustvarili preprost skript, ki bo zahteval ime uporabnika. Najprej odprite kateri koli urejevalnik besedil; za to vadnico uporabljam urejevalnik besedil Vim zaradi številnih uporabnih funkcij. Če želite namestiti Vim, v terminalu izvedite naslednji ukaz:
$ sudo apt namestite vimNato v besedilno datoteko vnesite naslednje:
#! \ bin \ bashecho "Prosimo, vnesite svoje ime"
preberite ime
echo "Vaše ime je" $ name
Datoteko shranite pod poljubnim imenom in pritisnite Esc in vnesite »: w readcom.sh.”Če želite zagnati skript, izdajte naslednji ukaz:
$ bash readcom.shZgornji skript bo od uporabnika zahteval, da napiše njegovo ime. Ukaz »branje« bo nato shranil uporabnikov vnos. V naslednji vrstici bo natisnjeno ime, ki ga vnese uporabnik.
Primer 2: Poenostavitev kode z uporabo operaterja »prompt«
Zgornji primer lahko nadalje poenostavimo z uporabo "poziv”Operater. Znova napišite zgornji primer, da bomo razumeli kodo:
#! / bin / bashpreberite -p Ime »Prosimo, vnesite svoje ime«
echo "Vaše ime je" $ name
Primer 3: Skrivanje uporabniškega vnosa z uporabo operaterja »tajno / tiho«
„-sZastavo ”lahko uporabite za skrivanje uporabnikovih vnosov. Naslednji primer skripta Bash vam pokaže, kako uporabljati operater “-s”:
#! / bin / bashpreberite -p Uporabniško ime »Prosimo, vnesite svoje uporabniško ime«
read -s -p “Vnesite geslo” $ geslo
Primer 4: Omejevanje dolžine znaka
„-nZastavo lahko uporabite za dodajanje omejitve številu znakov, ki jih lahko vnese uporabnik.
#!/ bin / bashpreberite -n 8 -p “Prosimo, vnesite svoje uporabniško ime, ki ne presega 8 znakov”
echo "Vaše uporabniško ime je" $ username
Z možnostjo "-n" lahko uporabnik še vedno napiše manj kot osem znakov. Za nadaljnjo omejitev vhodne dolžine se prikaže-NLahko uporabite zastavico, ki omeji uporabnikov odziv na natanko osem znakov.
Primer 5: Pridobivanje vnosa v matriki
Uporabniški vnos lahko vnesete tudi v polje z-a”Zastava. Na primer, če želimo naenkrat dobiti uporabnikovo ime, starost in e-poštni naslov, lahko uporabimo matriko. Oglejmo si primer:
#! / bin / bashecho »Prosimo, vnesite svoje ime, starost in e-pošto«
branje -a e-poštno sporočilo imena polja
echo »Vaše ime, starost in e-poštni naslov so: $ array [@] name age email«
echo "Vaše ime in starost sta: $ array [@]: 0: 1 name age"
echo "Vaš e-poštni naslov je: $ array [2] email"
- “$ Array [@]” se bo vrtel skozi vse spremenljivke.
- Če želite iti skozi indekse 0 do 1, uporabite "$ array [@]: 0: 1" z imeni spremenljivk.
- Če želite pridobiti vrednost določene spremenljivke pri določenem indeksu, uporabite »$ array [2]« z imenom spremenljivke.
Primer 6: Dodajanje časovne omejitve ukazu »branje«
Kot pove že ime ukaza, lahko časovno omejitev dodamo kot pogoj branja kode z zastavico “-t”, zaradi česar uporabnik vnese informacije za določen čas. V nasprotnem primeru se program premakne v naslednjo vrstico kode.
#! \ bin \ bashecho “Kaj je glavno mesto Japonske? Odgovor v 5 sekundah "
preberite -t 5 odgovor
if [“$ answer” = “tokyo”] || [“$ Answer” = “Tokio”];
potem
echo »Vaš odgovor je pravilen!"
drugače
echo »Vaš odgovor je napačen!"
fi
Zaključek
Pridobivanje uporabniškega vnosa je eden najpomembnejših delov programiranja, zaradi česar so vaši programi bolj interaktivni. Ta članek vam je pokazal, kako uporabljati ukaz »branje«, enega ključnih ukazov v skriptu Bash. V tem članku ste spoznali nekatere različne pristope, ki jih lahko uporabite z ukazom »branje«, od osnovnih operaterjev zastav do naprednih operaterjev.