Les brukerinndata

Les brukerinndata

I dette emnet vil vi lære hvordan du leser brukerinndata fra terminalen og skriptet.

For å lese Bash-brukerinngangen bruker vi den innebygde Bash-kommandoen kalt lese . Den tar innspill fra brukeren og tildeler den til variabelen. Den leser bare en enkelt linje fra Bash-skallet. Nedenfor er syntaksen for implementeringen.

Syntaks

 read  

Følg de gitte eksemplene for å lese brukerinndata fra Bash-skriptet:

Eksempel 1:

I dette eksemplet leser vi både enkelt- og multiple variabler fra Bash-skriptet ved å bruke lesekommandoen.

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.'  

Se Bash-konsollen:

Les brukerinndata

Produksjon:

Les brukerinndata

Hva vil skje hvis vi ikke sender noen variabel med read-kommandoen?

Hvis vi ikke sender noen variabel med read-kommandoen, kan vi sende en innebygd variabel kalt SVARE (skal settes foran med $-tegnet) mens inndata vises. Det kan forklares ved hjelp av programmet nedenfor:

Program:

 #!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'  

På Bash-konsollen:

Les brukerinndata

Produksjon:

Les brukerinndata

Eksempel 2:

I dette eksemplet legger vi inn inndata på den samme SPØRSMÅLEN ved å bruke -p kommandolinjealternativ følgende:

 read -p PROMPT  

Program:

 #!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var  

Se Bash-konsollen:

Les brukerinndata

Produksjon:

Les brukerinndata

Eksempel 3:

Dette eksemplet er å holde innspillet i stille modus, slik at det som er en brukerinndata på kommandolinjen vil bli skjult for andre.

Så vi sender et brukernavn og skjuler passordet (stille modus) ved å bruke kommandolinjealternativene (-s, -p) vanligvis som følger:

 read -sp PROMPT  

Hvor -s lar en bruker beholde inndata i stille modus og -p til inntasting på ny ledetekst.

Program:

 #!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var  

Se Bash-konsollen:

Les brukerinndata

Produksjon:

Les brukerinndata

MERK: På 5 th linjen i skriptet, har vi gitt en blank linje med echo-kommando, fordi hvis vi ikke gjør den tom da, vil den gi utdata med både passord og brukernavn på samme SPØRSMÅL som bildet nedenfor.

Les brukerinndata

Så skriv skriptet ditt ved å legge til en tom ekko-kommandolinje.

Eksempel 4: Dette eksemplet er å legge inn flere innganger ved hjelp av en matrise. Så bruk kommandolinjealternativet -a som følger:

 read -a  

Hvor -en hjelper skriptet med å lese en matrise, og variabelnavn refererer til en matrise.

Program:

 #!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.'  

Se koden på Bash Console:

Les brukerinndata

Produksjon:

Les brukerinndata