logo

Lees gebruikersinvoer

In dit onderwerp leren we hoe we de gebruikersinvoer van de terminal en het script kunnen lezen.

Om de Bash-gebruikersinvoer te lezen, gebruiken we de ingebouwde Bash-opdracht genaamd lezen . Het vergt invoer van de gebruiker en wijst deze toe aan de variabele. Het leest slechts een enkele regel uit de Bash-shell. Hieronder vindt u de syntaxis voor de implementatie ervan.

Syntaxis

 read 

Volg de gegeven voorbeelden om gebruikersinvoer van het Bash-script te lezen:

Voorbeeld 1:

In dit voorbeeld lezen we zowel de enkele als meerdere variabelen uit het Bash-script met behulp van de leesopdracht.

Programma:

 #!/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.' 

Zie de Bash-console:

Lees gebruikersinvoer

Uitgang:

Lees gebruikersinvoer

Wat gebeurt er als we geen enkele variabele doorgeven met het leescommando?

Als we geen enkele variabele doorgeven met het leescommando, kunnen we een ingebouwde variabele doorgeven genaamd ANTWOORD (moet worden voorafgegaan door het $-teken) terwijl de invoer wordt weergegeven. Het kan worden uitgelegd met behulp van het onderstaande programma:

verschil in datums in Excel

Programma:

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

Op Bash-console:

Lees gebruikersinvoer

Uitgang:

Lees gebruikersinvoer

Voorbeeld 2:

In dit voorbeeld voeren we de invoer in op dezelfde PROMPT met behulp van de -p opdrachtregeloptie als volgt:

 read -p PROMPT 

Programma:

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

Zie de Bash-console:

Lees gebruikersinvoer

Uitgang:

Lees gebruikersinvoer

Voorbeeld 3:

Dit voorbeeld is bedoeld om de invoer in de stille modus te houden, zodat wat een gebruikersinvoer op de opdrachtregel ook is, voor anderen verborgen zal zijn.

dynamische array java

We geven dus een gebruikersnaam door en verbergen het wachtwoord (stille modus) door de opdrachtregelopties (-s, -p) gewoonlijk als volgt te gebruiken:

 read -sp PROMPT 

Waarbij -s een gebruiker toestaat de invoer in de stille modus te houden en -p in te voeren via de nieuwe opdrachtprompt.

Rudyard Kipling als uitleg

Programma:

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

Zie de Bash-console:

Lees gebruikersinvoer

Uitgang:

Lees gebruikersinvoer

LET OP: Bij de 5eregel van het script hebben we een blanco regel gegeven met het echo-commando, want als we deze niet leeg maken, zal deze uitvoer geven met zowel het wachtwoord als de gebruikersnaam op dezelfde PROMPT als de onderstaande afbeelding.

Lees gebruikersinvoer

Schrijf dus uw script door een lege echo-opdrachtregel toe te voegen.

Voorbeeld 4: In dit voorbeeld wordt meerdere invoer ingevoerd met behulp van een array. Gebruik dus de opdrachtregeloptie -a als volgt:

 read -a 

Waar -A helpt het script een array te lezen, en variabelenaam verwijst naar een array.

Programma:

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

Zie de code op Bash Console:

Lees gebruikersinvoer

Uitgang:

Lees gebruikersinvoer