Pirmiausia patikrinkite pagrindinę „read“ komandos sintaksę:
read [variantas] kintamasisKomandos „skaityti“ naudojimas reiškia, kad jūs bendraujate su „Bash“, kad gautumėte informacijos iš vartotojo. Tai išsaugo kintamojo vertę, bet be „$“Ženklą. Galėsite geriau suprasti šią sąvoką pateikdami pavyzdį.
1 pavyzdys: „Read“ komandos naudojimas „Bash“ scenarijuje
Norėdami išsamiau išnagrinėti komandą „skaityti“, sukursime paprastą scenarijų, kuriame bus prašoma vartotojo vardo. Pirmiausia atidarykite bet kurį teksto rengyklę; šiai pamokai naudoju „Vim“ teksto rengyklę dėl daugybės naudingų funkcijų. Norėdami įdiegti „Vim“, terminale vykdykite šią komandą:
$ sudo apt install vimTada tekstiniame faile įveskite:
#! \ bin \ bashaidas „Prašau įvesti savo vardą“
skaityti vardą
aidas „Jūsų vardas yra“ $ vardas
Išsaugokite failą bet kokiu pavadinimu, tada paspauskite Esc ir įveskite „: w readcom.sh.”Norėdami paleisti scenarijų, išleiskite šią komandą:
$ bash readcom.shAukščiau pateiktas scenarijus paprašys vartotojo parašyti savo vardą. Tada komanda „skaityti“ išsaugos vartotojo įvestį. Kitoje eilutėje bus atspausdintas vartotojo įvestas vardas.
2 pavyzdys: Kodo supaprastinimas naudojant operacinę operacinę priemonę
Pirmiau pateiktą pavyzdį galima toliau supaprastinti naudojant „greitai" operatorius. Parašykime pirmiau pateiktą pavyzdį, kad suprastume kodą:
#! / bin / bashskaitykite -p pavadinimą „Prašau įvesti savo vardą“
aidas „Jūsų vardas yra“ $ vardas
3 pavyzdys: Vartotojo įvesties paslėpimas naudojant „slaptą / tylų“ operatorių
„-s“Vėliavą galima naudoti norint paslėpti vartotojo įvestį. Šis „Bash“ scenarijaus pavyzdys parodo, kaip naudoti operatorių „-s“:
#! / bin / bashskaityti -p „Prašau įvesti savo vartotojo vardą“ vartotojo vardą
skaitykite -s -p „Prašome įvesti slaptažodį“ $ slaptažodį
4 pavyzdys: simbolio ilgio apribojimas
„-n“Vėliava galima naudoti norint apriboti simbolių skaičių, kurį vartotojas gali įvesti.
#!/ bin / bashskaitykite -n 8 -p „Prašome įvesti savo vartotojo vardą, kurio ilgis neviršija 8 simbolių“
echo „Jūsų vartotojo vardas yra“ $ vartotojo vardas
Naudodamas „-n“ parinktį, vartotojas vis tiek gali parašyti mažiau nei aštuonis simbolius. Norėdami dar labiau apriboti įvesties ilgį, „-N“Galima naudoti vėliavą, kuri apriboja vartotojo atsakymą iki tiksliai aštuonių simbolių.
5 pavyzdys: masyvo įvesties gavimas
Vartotojo įvestį taip pat galima paimti į masyvą su „-a”Vėliava. Pavyzdžiui, norėdami gauti vartotojo vardą, amžių ir el. Pašto adresą vienu ypu, galime naudoti masyvą. Pažvelkime į pavyzdį:
#! / bin / bashaidas „Įveskite savo vardą, amžių ir el. pašto adresą“
skaityti -a masyvo pavadinimo amžiaus el
aidas „Jūsų vardas, amžius ir el. pašto adresas yra: $ array [@] vardas ir amžius el. paštas“
aidas „Jūsų vardas ir amžius yra: $ array [@]: 0: 1 vardo amžius“
aidas „Jūsų el. pašto adresas yra: $ array [2] el. paštas“
- „$ Array [@]“ apžvelgs visus kintamuosius.
- Norėdami kartoti indeksus nuo 0 iki 1, naudokite „$ array [@]: 0: 1“ su kintamųjų pavadinimais.
- Norėdami gauti konkretaus kintamojo vertę konkrečiame indekse, naudokite „$ array [2]“ su kintamojo pavadinimu.
6 pavyzdys: „Timeout“ pridėjimas prie komandos „read“
Kaip rodo komandos pavadinimas, gali būti pridėtas skirtasis laikas kaip sąlyga skaityti kodą naudojant „-t“ vėliavą, kuri priverčia vartotoją įvesti informaciją tam tikrą laiką. Kitu atveju programa pereis į kitą kodo eilutę.
#! \ bin \ bashaidas „Kas yra Japonijos sostinė? Atsakykite per 5 sekundes “
skaityti -t 5 atsakymas
jei [“$ answer” = “tokyo”] || [„$ Answer“ = „Tokijas“];
tada
aidas „Jūsų atsakymas teisingas!“
Kitas
aidas „Jūsų atsakymas neteisingas!“
fi
Išvada
Gauti įvestį iš vartotojo įvesties yra viena iš svarbiausių programavimo dalių, todėl jūsų programos tampa interaktyvesnės. Šis straipsnis parodė, kaip naudoti komandą „skaityti“, vieną iš pagrindinių „Bash“ scenarijų komandų. Šiame straipsnyje sužinojote apie keletą būdų, kuriuos galite naudoti naudodami komandą „skaityti“, nuo pagrindinių vėliavos operatorių iki patobulintų operatorių.