logo

Preberite uporabniški vnos

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:

Preberite uporabniški vnos

Izhod:

Preberite uporabniški vnos

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:

Preberite uporabniški vnos

Izhod:

Preberite uporabniški vnos

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:

Preberite uporabniški vnos

Izhod:

Preberite uporabniški vnos

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:

Preberite uporabniški vnos

Izhod:

Preberite uporabniški vnos

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.

Preberite uporabniški vnos

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:

Preberite uporabniški vnos

Izhod:

Preberite uporabniški vnos