Pomenovaný dátovod - server Napíšte skript, ktorý spustí príkaz zadaný za prepínačom -c. Ak je zadaný prepínač -w, tak skript sa ukončí až po skončení spusteného príkazu. V opačnom prípade sa skript ukončí ihneď a príkaz (server) bude bežať ďalej. Vstup servera bude presmerovaný do dátovodu s názvom 'fifo', alebo s názvom nasledujúcim za prepínačom -p, ak bude zadaný. Výstup servera pôjde na štandardný výstup, alebo zároveň do súboru ktorého názov bude zadaný za prepínačom -o. Ak bude zadaný prepínač -e, tak chybové hlásenia pôjdu tiež na štandardný výstup. Ak nie je zadaný žiadny príkaz, skript skončí (neurobí nič). Účelom je spustiť zadaný program ktorý zostane bežať ako server, pričom vstup na spracovanie bude čítať z pomenovaného dátovodu. Ak dátovod neexistuje je potrebné ho najskôr vytvoriť. Ak pri spustení programu servera neexistuje, vypíše sa chybové hlásenie "Error: Pipe '_fifo_' does not exist.", pričom na mieste reťazca _fifo_ bude použitý názov dátovodu. V prípade, že je zadaný nesprávny argument, vypíše sa hlásenie "Error: Invalid argument '_arg_'.", pričom reťazec _arg_ bude nahradený zadaným nesprávnym prepínačom a skript skončí. Ak nebude možné spustiť zadaný príkaz, vypíše sa hlásenie "Error: Can not execute '_comm_'.", pričom reťazec _comm_ bude nahradený zadaným názvom príkazu. Všetky hlášky o chybách sa budú vypisovať na štandardný výstup (nie chybový). Nie je potrebné ošetrovať iné stavy ktoré môžu viesť k chybe, napríklad zadaný názov dátovodu alebo výstupného súboru by nemal začínať pomlčkou. Vstup pre server je možné zadávať napríklad z druhého terminálu, zápisom do dátovodu. Výstup sa bude zobrazovať v termináli servera (na jeho štandardnom výstupe), prípadne bude tiež ukladaný do výstupného súboru s daným menom. -------- Príklady použitia: Termina1$ sh ./server.sh -c sh -o output.txt -e -p mypipe -w ## Terminal2$ echo "echo 'This is test.'" > mypipe This is test. Termina1$ cat output.txt This is test. Termina1$ sh ./server.sh -c sh -o -e -p -w Error: Pipe '-w' does not exist. Termina1$ sh ./server.sh -c sh -e -p Error: Pipe '' does not exist. Terminal1$ sh ./server.sh -w -c sh -e ## Terminal2$ echo "llss" > fifo sh: line 1: llss: command not found Terminal1$ sh ./server.sh -w -c "tr [a-z] [A-Z]" ## Terminal2$ echo "llss" > fifo LLSS Termina1$ sh ./server.sh -w -c "rr [a-z] [A-Z]" Error: Can not execute 'rr'.