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:
maven asennus
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.
arraylist menetelmät
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.
merkkijonomenetelmiä
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 5thskriptin 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ö: