[zk] 2007.06.07

MarPol
Matfyz(ák|ačka) level I
Příspěvky: 28
Registrován: 11. 10. 2006 11:01

[zk] 2007.06.07

Příspěvek od MarPol »

Dneska jsme si z 3 možných vybrali číslo 29. A byl to getopt ..

Kód: Vybrat vše

Napište sadu funkcí pro zpracování optionů shellskriptu.
-	Funkce getopt_init dostává seznam parametrů, které skript může dostat, ve formátu:

	krátký_název_optionu <TAB> dlouhý_název_optionu <TAB> 
		                  <TAB> dlouhý_název_optionu <TAB> 
	krátký_název_optionu <TAB> dlouhý_název_optionu <TAB> název_parametru
	                     <TAB> dlouhý_název_optionu <TAB> název_parametru
	                     <TAB>       	            <TAB> další_parametr

-	Funkce getopt_args dostává seznam parametrů, které skript opravdu dostal.
-	Funkce getopt je postupně volána v cyklu a, dokud nevyčerpá optiony, vrátí při každém zavolání nulovou návratovou hodnotu a nastaví proměnnou GETOPT_ARG na dlouhý název optionu a GETOPT_PAR na případnou hodnotu parametru optionu. Po vyčerpání optionů vrátí nenulovou návratovou hodnotu a nastaví proměnnou GETOPT_IDX na počet argumentů příkazové řádky, které zpracovala. Při špatně zadaných optionech napíše návod k použití a skončí.

Funkce musí akceptovat „dlouhé“ optiony (--option resp. --option=parametr), „krátké“ optiony (-o resp. -oparametr resp. -o parametr), kumulované krátké optiony (více optionů za jedním -, a to s parametrem i bez) a argument -- (konec optionů).
Návod se sestaví ze zadání argumentů funkce getopt_init a je ve tvaru:
Usage: název_skriptu [-o] [-o <parametr>] [--option] <dal> ...
Dnešní skóre : 3x 4, 1x 3, 15x 2 nebo 1, pokud si dobře vzpomínám, že 2 to vzdali předem ..
Odpovědět

Zpět na „2006“