Læs brugerinput

Læs brugerinput

I dette emne lærer vi, hvordan man læser brugerinput fra terminalen og scriptet.

For at læse Bash-brugerinputtet bruger vi den indbyggede Bash-kommando kaldet Læs . Det tager input fra brugeren og tildeler det til variablen. Den læser kun en enkelt linje fra Bash-skallen. Nedenfor er syntaksen for dens implementering.

Syntaks

 read  

Følg de givne eksempler for at læse brugerinput fra Bash Scriptet:

Eksempel 1:

I dette eksempel læser vi både de enkelte og flere variabler fra Bash Scriptet ved at bruge read-kommandoen.

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:

Læs brugerinput

Produktion:

Læs brugerinput

Hvad vil der ske, hvis vi ikke sender nogen variabel med read-kommandoen?

Hvis vi ikke sender nogen variabel med read-kommandoen, så kan vi videregive en indbygget variabel kaldet SVAR (skal stå foran med $-tegnet), mens inputtet vises. Det kan forklares ved hjælp af nedenstående program:

Program:

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

På Bash-konsollen:

Læs brugerinput

Produktion:

Læs brugerinput

Eksempel 2:

I dette eksempel indtaster vi input på den samme PROMPT ved at bruge -p kommandolinje mulighed som følger:

 read -p PROMPT  

Program:

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

Se Bash-konsollen:

Læs brugerinput

Produktion:

Læs brugerinput

Eksempel 3:

Dette eksempel er for at holde input i lydløs tilstand, sådan at uanset hvad der er en brugerinput på kommandolinjen, vil blive skjult for andre.

Så vi sender et brugernavn og skjuler adgangskoden (lydløs tilstand) ved at bruge kommandolinjeindstillingerne (-s, -p) almindeligvis som følger:

 read -sp PROMPT  

Hvor -s giver en bruger mulighed for at beholde input i lydløs tilstand og -p til input på ny kommandoprompt.

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:

Læs brugerinput

Produktion:

Læs brugerinput

BEMÆRK: Ved 5 th linje i scriptet, har vi givet en blank linje med echo-kommando, for hvis vi ikke gør den tom, vil den give output med både adgangskode og brugernavn på samme PROMPT som billedet nedenfor.

Læs brugerinput

Så skriv dit script ved at tilføje en tom ekko-kommandolinje.

Eksempel 4: Dette eksempel er at indtaste flere input ved hjælp af et array. Så brug kommandolinjen -a som følger:

 read -a  

Hvor -en hjælper script med at læse et array, og variabelnavn henviser til et 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 brugerinput

Produktion:

Læs brugerinput