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:
Výstup:
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:
Výstup:
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:
Výstup:
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:
Výstup:
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.
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:
Výstup: