Programare UNIX


1. Informatii de mediu (vezi main.c)

2. Procesarea optiunilor (vezi opts.c)

3. Utilitarul make (vezi main.make si opts.make)


Laborator 1

Modul de lucru:

Descarcati arhiva lab1.zip pentru laboratorul curent. Toate aplicatiile ofera un schelet minimal, si pot fi construite imediat folosind utilitarul make:

make -f main.make run

#pentru a construi executabilul main (urmat de executie)

make -f main.make debug

#pentru a construi executabilul maind (urmat de executie)

Tema:

Sa se realizeze o aplicatie 'envprint' care ofera urmatoarea functionare:

* cu optiunea -l sau --list va lista toate informatiile de mediu disponibile (functionalitate deja implementata prin aplicatia main.c din arhiva de mai sus). Aceasta optiune este implicita atunci cand nu exista alte argumente in linia de comanda. Aceasta optiune dezactiveaza optiunea -n sau -s anterioara.

* cu optiunea -n sau --name va lista NUMAI numele informatiilor de mediu disponibile. Aceasta optiune dezactiveaza optiunea -l sau -s anterioara.

* cu optiunea -s STRING sau --search STRING va lista numai informatiile de mediu care contin sirul de caractere precizat. Aceasta optiune dezactiveaza optiunile -l sau -n anterioare.

Orice alt argument in linia de comanda este considerat un NUME de variabila de mediu, si se va afisa valoarea corespunzatoare acesteia (sau sirul vid, cand variabila nu este definita).

Recapitulare: Aplicatia va folosi biblioteca 'getopt' pentru procesarea liniei de comanda si apelul getenv (pentru argumente ordinare). Lista variabilelor de mediu este disponibila prin variabila globala environ (extern char ** environ). Pentru optiunile -n si -s se vor utiliza functii de manipulare a sirurilor de caractere.