Šioje temoje sužinosime, kaip perskaityti vartotojo įvestį iš terminalo ir scenarijų.
Norėdami perskaityti „Bash“ vartotojo įvestį, naudojame įmontuotą „Bash“ komandą, vadinamą skaityti . Jis priima vartotojo įvestį ir priskiria jį kintamajam. Jis skaito tik vieną eilutę iš Bash apvalkalo. Žemiau pateikiama jos įgyvendinimo sintaksė.
Sintaksė
read
Norėdami perskaityti vartotojo įvestį iš Bash scenarijaus, vadovaukitės pateiktais pavyzdžiais:
1 pavyzdys:
Šiame pavyzdyje mes skaitome ir vieną, ir kelis kintamuosius iš Bash scenarijaus naudodami skaitymo komandą.
Programa:
#!/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.'
Žiūrėkite „Bash“ konsolę:
Išvestis:
Kas atsitiks, jei neperduosime jokio kintamojo su komanda skaityti?
Jei neperduodame jokio kintamojo su komanda read, galime perduoti įtaisytąjį kintamąjį, vadinamą ATSAKYTI (priešdėlis turi būti su $ ženklu), kai rodoma įvestis. Tai galima paaiškinti naudojant toliau pateiktą programą:
pėdos prieš pėdą
Programa:
#!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'
„Bash“ konsolėje:
Išvestis:
2 pavyzdys:
Šiame pavyzdyje mes įvedame įvestį tame pačiame PROMPT naudodami -p komandinės eilutės parinktis taip:
read -p PROMPT
Programa:
#!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var
Žiūrėkite „Bash“ konsolę:
Išvestis:
3 pavyzdys:
Šis pavyzdys skirtas išlaikyti įvestį tyliuoju režimu, kad bet kokia vartotojo įvestis komandinėje eilutėje būtų paslėpta kitiems.
java dviguba eilutė
Taigi, mes perduodame vartotojo vardą ir paslepiame slaptažodį (tylusis režimas), naudodami komandų eilutės parinktis (-s, -p), paprastai taip:
read -sp PROMPT
Kur -s leidžia vartotojui išlaikyti įvestį tyliuoju režimu, o -p - įvesti naujai komandų eilutėje.
df.loc
Programa:
#!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var
Žiūrėkite „Bash“ konsolę:
Išvestis:
PASTABA: 5 valthscenarijaus eilutėje, mes suteikėme tuščią eilutę su echo komanda, nes jei nepadarysime jos tuščios, ji pateiks išvestį su slaptažodžiu ir vartotojo vardu tame pačiame PROMPT, kaip ir toliau pateiktame paveikslėlyje.
Taigi, parašykite savo scenarijų pridėdami tuščią echo komandų eilutę.
4 pavyzdys: Šis pavyzdys yra kelių įvesčių įvedimas naudojant masyvą. Taigi naudokite komandinės eilutės parinktį -a taip:
read -a
Kur -a padeda scenarijui nuskaityti masyvą, o kintamojo_pavadinimas nurodo masyvą.
Programa:
#!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.'
Peržiūrėkite kodą „Bash Console“:
Išvestis: