logo

Číst uživatelský vstup

V tomto tématu se naučíme, jak číst uživatelský vstup z terminálu a skriptu.

Ke čtení uživatelského vstupu Bash používáme vestavěný příkaz Bash s názvem číst . Přebírá vstup od uživatele a přiřazuje jej k proměnné. Přečte pouze jeden řádek z prostředí Bash. Níže je uvedena syntaxe pro jeho implementaci.

Syntax

 read 

Při čtení uživatelského vstupu ze skriptu Bash postupujte podle uvedených příkladů:

Příklad 1:

V tomto příkladu čteme jednu i více proměnných z Bash skriptu pomocí příkazu read.

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

Podívejte se na Bash Console:

Číst uživatelský vstup

Výstup:

Číst uživatelský vstup

Co se stane, když příkazem read nepředáme žádnou proměnnou?

Pokud pomocí příkazu read nepředáme žádnou proměnnou, můžeme předat vestavěnou proměnnou nazvanou ODPOVĚĎ (předponou by měl být znak $) při zobrazování vstupu. To lze vysvětlit pomocí níže uvedeného programu:

java objekt

Program:

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

Na konzoli Bash:

Číst uživatelský vstup

Výstup:

Číst uživatelský vstup

Příklad 2:

V tomto příkladu zadáme vstup do stejného PROMPT pomocí -p volba příkazového řádku jak následuje:

 read -p PROMPT 

Program:

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

Podívejte se na Bash Console:

Číst uživatelský vstup

Výstup:

Číst uživatelský vstup

Příklad 3:

Tento příklad má ponechat vstup v tichém režimu, takže jakýkoli vstup uživatele na příkazovém řádku bude ostatním skryt.

latexové písmo

Takže předáme uživatelské jméno a skryjeme heslo (tichý režim) pomocí voleb příkazového řádku (-s, -p) běžně takto:

 read -sp PROMPT 

Kde -s umožňuje uživateli ponechat vstup v tichém režimu a -p pro vstup do nového příkazového řádku.

kolečko myši se neposouvá správně

Program:

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

Podívejte se na Bash Console:

Číst uživatelský vstup

Výstup:

Číst uživatelský vstup

POZNÁMKA: V 5čtřádku skriptu jsme dali prázdný řádek s příkazem echo, protože pokud jej neuděláme prázdný, bude výstup s heslem a uživatelským jménem na stejném PROMPTU jako na obrázku níže.

Číst uživatelský vstup

Napište tedy svůj skript přidáním prázdného příkazového řádku echo.

Příklad 4: Tento příklad je zadání více vstupů pomocí pole. Použijte tedy volbu -a příkazového řádku následovně:

 read -a 

Kde -A pomáhá skriptu číst pole a název_proměnné odkazuje na pole.

Program:

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

Podívejte se na kód na Bash Console:

Číst uživatelský vstup

Výstup:

Číst uživatelský vstup