Lue käyttäjän syöte
Tässä aiheessa opimme lukemaan käyttäjän syötteen päätteestä ja komentosarjasta.
Bash-käyttäjän syötteen lukemiseen käytämme sisäänrakennettua Bash-komentoa nimeltä lukea . Se ottaa syötteen käyttäjältä ja määrittää sen muuttujalle. Se lukee vain yhden rivin Bash-kuoresta. Alla on syntaksi sen toteuttamiselle.
Syntaksi
read
Seuraa annettuja esimerkkejä lukeaksesi käyttäjän syötteen Bash-skriptistä:
Esimerkki 1:
Tässä esimerkissä luemme sekä yksittäiset että useat muuttujat Bash-komentosarjasta käyttämällä read-komentoa.
Ohjelmoida:
#!/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.'
Katso Bash-konsoli:
Lähtö:
Mitä tapahtuu, jos emme välitä mitään muuttujaa read-komennolla?
Jos emme välitä mitään muuttujaa read-komennolla, voimme välittää sisäänrakennetun muuttujan nimeltä VASTAA (etuliite tulee olla $-merkki), kun syöte näytetään. Se voidaan selittää alla olevan ohjelman avulla:
Ohjelmoida:
#!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'
Bash-konsolissa:
Lähtö:
Esimerkki 2:
Tässä esimerkissä syötämme syötteen samaan PROMPTiin käyttämällä -p komentorivin vaihtoehto seuraavasti:
read -p PROMPT
Ohjelmoida:
#!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var
Katso Bash-konsoli:
Lähtö:
Esimerkki 3:
Tämän esimerkin tarkoituksena on pitää syöttö äänettömässä tilassa niin, että mikä tahansa käyttäjän komentorivillä syötetty syöttö piilotetaan muille.
Joten välitämme käyttäjänimen ja piilotamme salasanan (hiljainen tila) käyttämällä komentorivin valintoja (-s, -p) tavallisesti seuraavasti:
read -sp PROMPT
Missä -s sallii käyttäjän pitää syötteen äänettömässä tilassa ja -p syötteen uudessa komentokehotteessa.
Ohjelmoida:
#!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var
Katso Bash-konsoli:
Lähtö:
HUOM: klo 5 th skriptin rivillä, olemme antaneet tyhjennetyn rivin echo-komennolla, koska jos emme tee sitä tyhjäksi, se antaa tulosteen sekä salasanalla että käyttäjätunnuksella samassa PROMPTissa kuin alla oleva kuva.
Joten kirjoita skripti lisäämällä tyhjä kaiku-komentorivi.
Esimerkki 4: Tässä esimerkissä syötetään useita syötteitä taulukon avulla. Käytä siis komentorivivaihtoehtoa -a seuraavasti:
read -a
Missä -a auttaa skriptiä lukemaan taulukon, ja muuttujan_nimi viittaa taulukkoon.
Ohjelmoida:
#!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.' Katso koodi Bash-konsolista:
Lähtö: