GNU/Linux >> Znalost Linux >  >> Linux

5 Praktické příklady příkazu Read v Linuxu

Co je příkaz read v Linuxu?

příkaz čtení v Linuxu je způsob, jak mohou uživatelé komunikovat se vstupem z klávesnice, který můžete vidět označovaný jako stdin (standardní vstup) nebo jiné podobné popisy.

Jinými slovy, pokud chcete, aby váš bash skript přebíral vstup od uživatele, budete muset použít příkaz read.

Napíšu několik jednoduchých bash skriptů, které vám ukážou praktické použití příkazu read.

Přečíst příklady příkazů

Příkaz read může být pro začátek matoucí, zvláště pro ty, kteří začínají se skriptováním shellu. Skripty, které zde použiji, jsou velmi jednoduché na pochopení a mělo by být snadné je sledovat, zvláště pokud cvičíte spolu s výukovým programem.

Základní koncepty programování

Téměř u každého programu nebo skriptu chcete převzít informace od uživatele (vstup) a říci počítači, co má s těmito informacemi udělat (výstup).

Když používáte čtení, komunikujete s terminálem bash, že chcete zachytit vstup od uživatele. Ve výchozím nastavení příkaz vytvoří proměnnou, do které se tento vstup uloží.

read [options] variable_name

Nyní se podívejme na několik příkladů příkazu čtení, abychom pochopili, jak jej můžete použít v různých situacích.

1. Číst příkaz bez možností

Když napíšete read bez jakýchkoliv dalších možností, budete muset stisknout Enter, abyste zahájili snímání. Systém bude zaznamenávat vstup, dokud znovu nestisknete enter.

Ve výchozím nastavení budou tyto informace uloženy v proměnné s názvem $REPLY .

Abychom usnadnili práci v prvním příkladu, použiji symbol se zobrazí po stisknutí klávesy Enter.

read ↵
hello world ↵
echo $REPLY ↵
hello world

Další informace o proměnných

Jak jsem již zmínil, $REPLY proměnná je zabudována do read , takže to nemusíte deklarovat.

To by mohlo být v pořádku, pokud máte na mysli pouze jednu aplikaci, ale pravděpodobně budete chtít použít své vlastní proměnné. Když deklarujete proměnnou pomocí read, nemusíte dělat nic jiného, ​​než zadat název proměnné.

Když chcete volat proměnnou, použijete $ před jménem. Zde je příklad, kde vytvořím proměnnou Linux_Handbook a přiřaďte mu hodnotu vstupu.

Můžete použít příkaz echo k ověření, že příkaz read udělal své kouzlo:

read Linux_Handbook ↵
for easy to follow Linux tutorials.
echo $Linux_Handbook ↵
for easy to follow Linux tutorials.

Připomenutí:V názvech proměnných se rozlišují malá a velká písmena.

2. Možnost výzvy -p

Pokud píšete skript a chcete zachytit vstup uživatele, existuje možnost čtení pro vytvoření výzvy, která může váš kód zjednodušit. Kódování je o efektivitě, že?

Místo použití dalších řádků a příkazů echo můžete jednoduše použít -p příznak volby. Text, který zadáte do uvozovek, se zobrazí tak, jak bylo zamýšleno, a uživatel nebude muset stisknout Enter, aby mohl začít zaznamenávat vstup.

Takže místo psaní dvou řádků kódu, jako je tento:

echo "What is your desired username? "
read username

Můžete použít -p možnost s příkazem read takto:

read -p "What is your desired username? " username

Vstup bude uložen do proměnné $username.

3. Možnost „Tajné“/Tiché -s

Napsal jsem jednoduchý bash skript, abych demonstroval další příznak. Nejprve se podívejte na výstup.

bash secret.sh
What is your desired username? tuxy_boy
Your username will be tuxy_boy.
Please enter the password you would like to use:

You entered Pass123 for your password.
Masking what's entered does not obscure the data in anyway.

Zde je obsah secret.sh pokud to chcete znovu vytvořit.

#!/bin/bash
read -p "What is your desired username? " username
echo "Your username will be" $username"."
read -s -p "Please enter the password you would like to use: " password
echo
echo "You entered" $password "for your password."
echo "Masking what's entered does not obscure the data in anyway."

Jak můžete vidět, -s volba maskovala vstup při zadání hesla. Toto je však povrchní technika a nenabízí skutečné zabezpečení.

4. Použití omezení počtu znaků s možností čtení -n

Ke vstupu můžete přidat omezení a omezit jej na n počet znaků.

Použijme stejný skript jako dříve, ale upravme jej tak, aby vstupy byly omezeny na 5 znaků.

read -n 5 -p "What is your desired username? " username

Jednoduše přidejte -n N kde N je číslo dle vašeho výběru.

Totéž jsem udělal pro naše heslo.

bash secret.sh
What is your desired username? tuxy_Your username will be tuxy_.
Please enter the password you would like to use:
You entered boy for your password.

Jak můžete vidět, program přestal shromažďovat vstup po 5 znacích pro uživatelské jméno.

Stále jsem však mohl napsat MÉNĚ než 5 znaků, pokud stisknu po zadání.

Pokud to chcete omezit, můžete použít -N (místo -n) Díky této úpravě je vyžadováno přesně 5 znaků, ani méně, ani více.

5. Ukládání informací do pole -a

Můžete také použít příkaz read v Linuxu k vytvoření vlastních polí. To znamená, že můžeme přiřadit části vstupu prvkům v poli. Ve výchozím nastavení odděluje prvky mezerník.

[email protected]:~$ read -a array
abc def 123 x y z
[email protected]:~$ echo  ${array[@]}
abc def 123 x y z
[email protected]:~$ echo  ${array[@]:0:3}
abc def 123
[email protected]:~$ echo  ${array[0]}
abc
[email protected]:~$ echo  ${array[5]}
z

Pokud jste v polích noví nebo je poprvé vidíte v bash, rozeberu, co se děje.

  • Zadejte požadované prvky oddělené mezerami.
  • Pokud vložíme pouze proměnnou @, iteruje a vytiskne celý cyklus.
  • Symbol @ představuje číslo prvku a pomocí dvojteček za ním můžeme rozlišit iteraci od indexu 0 do indexu 3 (jak je zde napsáno).
  • Vytiskne prvek s indexem 0.
  • Podobné jako výše, ale ukazuje, že prvky jsou odděleny prostorem

Bonusový tip:Přidání funkce časového limitu

K našemu čtení můžete také přidat časový limit. Pokud ve stanoveném čase nezachytíte žádný vstup, program se přesune nebo skončí.

[email protected]:~$ read -t 3
[email protected]:~$

Při pohledu na výstup to nemusí být zřejmé, ale terminál čekal tři sekundy, než vypršel časový limit a ukončil čtecí program.

Závěr

Doufám, že tento tutoriál vám pomohl začít s příkazem read v Linuxu. Jako vždy rádi slyšíme od našich čtenářů o obsahu, který je zajímá. Zanechte komentář níže a podělte se s námi o své myšlenky!


Linux
  1. cp Command v Linuxu:7 praktických příkladů

  2. Linux Shutdown Command:5 praktických příkladů

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. 7 Praktické příklady cd Command v Linuxu

  2. Praktické příklady příkazu Unzip v Linuxu

  3. 10 Praktické příklady příkazů Linux nm

  1. Co je to Linux Watch Command + příklady

  2. 16 Praktické příklady příkazu Linux LS pro začátečníky

  3. 5 Praktické příklady příkazu „cd“ v Linuxu