V tej temi se bomo naučili brati uporabniški vnos iz terminala in skripta.
Za branje uporabniškega vnosa Bash uporabljamo vgrajen ukaz Bash, imenovan prebrati . Od uporabnika vzame vnos in ga dodeli spremenljivki. Prebere samo eno vrstico lupine Bash. Spodaj je sintaksa za njegovo izvedbo.
Sintaksa
read
Sledite danim primerom, da preberete uporabniški vnos iz skripta Bash:
Primer 1:
V tem primeru beremo eno in več spremenljivk iz skripta Bash z uporabo ukaza za branje.
Program:
#!/bin/bash # Read the user input echo 'Enter the user name: ' read first_name echo 'The Current User Name is $first_name' echo echo 'Enter other users'names: ' read name1 name2 name3 echo '$name1, $name2, $name3 are the other users.'
Oglejte si konzolo Bash:
Izhod:
Kaj se bo zgodilo, če z ukazom read ne posredujemo nobene spremenljivke?
Če z ukazom read ne posredujemo nobene spremenljivke, lahko posredujemo vgrajeno spremenljivko, imenovano ODGOVORI (mora imeti predpono znak $) med prikazovanjem vnosa. To je mogoče razložiti s spodnjim programom:
krepko v css
Program:
#!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'
Na konzoli Bash:
Izhod:
Primer 2:
V tem primeru vnesemo vnos na isti PROMPT z uporabo -p možnost ukazne vrstice kot sledi:
read -p PROMPT
Program:
#!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var
Oglejte si konzolo Bash:
Izhod:
Primer 3:
Ta primer je namenjen ohranjanju vnosa v tihem načinu, tako da bo ne glede na uporabniški vnos v ukazni vrstici skrit za druge.
j e s t
Torej posredujemo uporabniško ime in skrijemo geslo (tihi način) z uporabo možnosti ukazne vrstice (-s, -p), običajno kot sledi:
read -sp PROMPT
Kjer -s omogoča uporabniku, da ohrani vnos v tihem načinu in -p za vnos v novem ukaznem pozivu.
kolesce miške se ne pomika pravilno
Program:
#!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var
Oglejte si konzolo Bash:
Izhod:
OPOMBA: ob 5thvrstici skripta smo dali prazno vrstico z ukazom echo, ker če je ne naredimo prazno, bo dala izhod z geslom in uporabniškim imenom na istem PROMPT-u kot spodnja slika.
Torej, napišite svoj skript tako, da dodate prazno ukazno vrstico echo.
Primer 4: Ta primer je vnos več vnosov z uporabo matrike. Zato uporabite možnost ukazne vrstice -a na naslednji način:
read -a
Kje -a pomaga skriptu pri branju matrike, ime_spremenljivke pa se nanaša na matriko.
Program:
#!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.'
Oglejte si kodo na konzoli Bash:
Izhod: