logo

Läs användarinmatning

I det här ämnet kommer vi att lära oss hur man läser användarinmatningen från terminalen och skriptet.

För att läsa Bash-användarinmatningen använder vi det inbyggda Bash-kommandot som kallas läsa . Den tar input från användaren och tilldelar den till variabeln. Den läser bara en enda rad från Bash-skalet. Nedan är syntaxen för dess implementering.

Syntax

 read 

Följ de givna exemplen för att läsa användarinput från Bash-skriptet:

Exempel 1:

I det här exemplet läser vi både de enskilda och flera variablerna från Bash-skriptet genom att använda läskommandot.

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-konsolen:

Läs användarinmatning

Produktion:

Läs användarinmatning

Vad händer om vi inte skickar någon variabel med läskommandot?

Om vi ​​inte skickar någon variabel med läskommandot kan vi skicka en inbyggd variabel som kallas SVAR (bör ha prefixet $-tecknet) medan inmatningen visas. Det kan förklaras med hjälp av programmet nedan:

skillnaden mellan middag och kvällsmat

Program:

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

På Bash Console:

Läs användarinmatning

Produktion:

Läs användarinmatning

Exempel 2:

I det här exemplet anger vi ingången på samma PROMPT genom att använda -p kommandoradsalternativ som följer:

 read -p PROMPT 

Program:

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

Se Bash-konsolen:

Läs användarinmatning

Produktion:

Läs användarinmatning

Exempel 3:

Det här exemplet är att hålla indata i tyst läge, så att vad som än är en användarinmatning på kommandoraden kommer att döljas för andra.

hur man konverterar sträng till char

Så vi skickar ett användarnamn och döljer lösenordet (tyst läge) genom att använda kommandoradsalternativen (-s, -p) vanligtvis enligt följande:

 read -sp PROMPT 

Där -s tillåter en användare att behålla inmatningen i tyst läge och -p för inmatning på den nya kommandotolken.

linux vilket kommando

Program:

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

Se Bash-konsolen:

Läs användarinmatning

Produktion:

Läs användarinmatning

OBS: Vid 5thraden i skriptet har vi gett en tom rad med echo-kommando, för om vi inte gör den tom kommer den att ge utdata med både lösenord och användarnamn på samma PROMPT som bilden nedan.

Läs användarinmatning

Så skriv ditt skript genom att lägga till en tom echo-kommandorad.

Exempel 4: Det här exemplet är att ange flera ingångar med hjälp av en array. Så använd kommandoradsalternativet -a enligt följande:

 read -a 

Var -a hjälper skript att läsa en array, och variabelnamn hänvisar till en array.

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:

Läs användarinmatning

Produktion:

Läs användarinmatning