Ako prevziať vstup od používateľa v skripte Bash [Pokročilé techniky]

Ako Prevziat Vstup Od Pouzivatela V Skripte Bash Pokrocile Techniky



Interaktívne skripty môžete vytvárať tak, že počas vykonávania prevezmete vstup od používateľa. Pomáha vám tiež manipulovať s výstupom podľa požiadaviek. Existuje niekoľko jednoduchých spôsobov, ako získať informácie od používateľa. Preto je najlepšie použiť pokročilejšie spôsoby ako prostredník alebo expert. Mnohí používatelia bash sa však musia naučiť pokročilé techniky, aby mohli prijímať vstupy od používateľov v skripte bash. Takže v tomto návode ich všetky stručne vysvetlíme.

Ako prevziať vstup od používateľa v skripte Bash [Pokročilé techniky]

Pomocou príkazu read môžete prijať vstup, ale viete, že môžete zadať viacero vstupov? Zoberme si príklad na získanie podrobných informácií. Predpokladajme, že chceme vytvoriť skript na vykonanie aritmetického výpočtu pomocou viacerých (A, B, C, D, E) čísel:







#!/bin/bash

ozvena 'Zadajte prosím tri čísla'

čítať A B C D E

súčet = $ ( ( A+B+C+D+E ) )

ozvena „Dodatok je $sum '



množiť = $ ( ( A * B * C * D * A ) )

ozvena „Násobenie je $násobiť '



Teraz môžeme spustiť skript a zadať čísla na výpočet sčítania a násobenia:







Ak nechcete vytvoriť samostatný príkaz echo, môžete ho pridať do príkazu read pomocou voľby -p:

#!/bin/bash

čítať -p 'Prosím, zadajte svoje meno a vek:' meno veku



ak [ $vek -lt 17 ]

potom

ozvena 'Prepáčte! Nemáte nárok na kurz'



inak

ozvena 'Skvelé! Máte nárok na kurz'

byť



Vyššie uvedený skript vyžaduje, aby mal používateľ aspoň 17 rokov, aby získal nárok na konkrétny kurz:

Prevziať vstup pomocou Stdin (štandardný vstup)

Ak chcete ísť o krok ďalej v pokročilých technikách, potom môžete použiť koncept stdin. Na získanie jednoduchých riešení môžete použiť stdin v skripte. Vezmime si príklad, keď chceme odfiltrovať zoznam oprávnených kandidátov, ktorí už poplatky predložili. Máme zoznam, ktorý obsahuje podrobnosti ako meno kandidáta, vek, dátum odoslania formulára a stav odoslania poplatku. Takže môžeme použiť nižšie uvedený skript na získanie požadovaných podrobností:

#!/bin/bash

ozvena 'podrobnosti o predložení poplatkov:'



kat / dev / stdin | rezať -d ' ' -f 1 , 4 | triediť

Tento skript poskytuje nasledujúci výsledok:

Zabaliť sa

Takže toto bolo všetko o pokročilých technikách, ktoré môžete skúsiť získať vstup od používateľa v bash skripte. V tomto návode sme vysvetlili rôzne možnosti v príkaze read a stdin na rýchle zadanie vstupu. Ak s bashom začínate a chcete vedieť, ako sa k nemu zapojiť, navštívte našu webovú stránku a dozviete sa viac.