logo

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:

ddl vs dml

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.

Charat i streng

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.

java bryde ud af loop

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 5thlinje 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