Nejprve zkontrolujte základní syntaxi příkazu „read“:
číst proměnnou [option]Použití příkazu „číst“ znamená, že komunikujete s Bashem, abyste získali informace od uživatele. Uloží hodnotu do proměnné, ale bez „$" podepsat. Tento koncept budete moci lépe pochopit na příkladu.
Příklad 1: Použití příkazu „read“ ve skriptu Bash
Abychom podrobněji prozkoumali příkaz „číst“, vytvoříme jednoduchý skript, který bude požadovat jméno uživatele. Nejprve otevřete libovolný textový editor; pro tento tutoriál používám textový editor Vim kvůli jeho mnoha užitečným funkcím. Chcete-li nainstalovat Vim, proveďte v terminálu následující příkaz:
$ sudo apt install vimDále zadejte do textového souboru následující:
#! \ bin \ bashecho „Napište prosím své jméno“
číst jméno
echo „Vaše jméno je“ $ name
Uložte soubor pod libovolným názvem a stiskněte Esc a zadejte „: w readcom.sh.„Chcete-li spustit skript, zadejte následující příkaz:
$ bash readcom.shVýše uvedený skript požádá uživatele, aby napsal své jméno. Příkaz „read“ poté uloží vstup od uživatele. Další řádek vytiskne jméno, které zadal uživatel.
Příklad 2: Zjednodušení kódu pomocí operátora „prompt“
Výše uvedený příklad lze dále zjednodušit pomocí „výzvaOperátor. Přepíšeme výše uvedený příklad, abychom porozuměli kódu:
#! / bin / bashread -p Jméno „Zadejte prosím své jméno“
echo „Vaše jméno je“ $ name
Příklad 3: Skrytí uživatelského vstupu pomocí operátora „tajný / tichý“
„-s”Lze použít ke skrytí vstupu uživatele. Následující příklad skriptu Bash ukazuje, jak používat operátor „-s“:
#! / bin / bashread -p uživatelské jméno „Zadejte své uživatelské jméno“
read -s -p „Zadejte prosím své heslo“ $ heslo
Příklad 4: Omezení délky znaků
„-n”Lze použít k přidání omezení počtu znaků, které může uživatel zadat.
#!/ bin / bashread -n 8 -p „Zadejte prosím své uživatelské jméno nepřesahující 8 znaků“ uživatelské jméno
echo „Vaše uživatelské jméno je“ $ uživatelské jméno
S možností „-n“ může uživatel stále psát méně než osm znaků. Chcete-li dále omezit délku vstupu,-NLze použít příznak, který omezuje odpověď uživatele na přesně osm znaků.
Příklad 5: Získání vstupu v poli
Uživatelský vstup lze také převzít do pole s „-A„Vlajka. Například pro získání jména, věku a e-mailové adresy uživatele najednou můžeme použít pole. Podívejme se na příklad:
#! / bin / bashecho „Zadejte prosím své jméno, věk a e-mail“
read -a pole name age email
echo „Vaše jméno, věk a e-mailová adresa jsou: $ array [@] jméno věk e-mail“
echo „Vaše jméno a věk jsou: $ pole [@]: 0: 1 věk jména“
echo „Vaše e-mailová adresa je: $ pole [2] e-mail“
- „$ Array [@]“ bude procházet všemi proměnnými.
- Chcete-li iterovat prostřednictvím indexů 0 až 1, použijte „$ array [@]: 0: 1“ s názvy proměnných.
- Chcete-li získat hodnotu konkrétní proměnné v určitém indexu, použijte „$ pole [2]“ s názvem proměnné.
Příklad 6: Přidání časového limitu k příkazu „čtení“
Jak naznačuje název příkazu, časový limit lze přidat jako podmínku načtení kódu pomocí příznaku „-t“, který umožňuje uživateli zadávat informace pro konkrétní čas. Jinak se program přesune na další řádek kódu.
#! \ bin \ bashecho „Co je hlavní město Japonska? Odpověď do 5 sekund “
přečíst -t 5 odpověď
if [„$ answer“ = „tokyo“] || [„$ Answer“ = „Tokio“];
pak
echo „Vaše odpověď je správná!“
jiný
echo „Vaše odpověď je špatná!“
fi
Závěr
Získání vstupu ze vstupu uživatele je jednou z nejdůležitějších částí programování, díky čemuž jsou vaše programy interaktivnější. Tento článek vám ukázal, jak používat příkaz „read“, jeden z klíčových příkazů ve skriptu Bash. V tomto článku jste se dozvěděli o některých různých přístupech, které můžete použít s příkazem „read“, od základních operátorů příznaků po pokročilé operátory.