Sei sulla pagina 1di 2

Elaborato 1: Utilizzo della shell e sua programmazione.

Consegna entro: 27/4/2011.

Testo dellelaborato
Si vuole realizzare uno script bash, per la gestione di un negozio di CD usicali. !o script s"ruttera# due "ile di testo, che si uleranno il database dei CD posseduti $owned.txt%, e &uello dei CD disponibili $availables.txt%. 'gni "ile di testo conterra# una riga per ogni CD. 'gni riga conterra# il no e del gruppo ed il titolo dell#albu . (er se plicita#, si assu a che tali no i non contengano spazi. 'gni "ile potra# contenere righe uguali, per si ulare "atto di possedere olteplici copie dello stesso albu . )l contenuto dei due "ile sara# in ordine casuale. *seguendo lo script, apparira# un 1. !ista dei CD posseduti. 2. !ista dei CD disponibili. +. !ista dei CD non posseduti. 4. ,lti i arrivi. -. Co pra un CD. .. /endi un CD. 7. 0rova CD. 1. *sci. ) co andi 1 e 2 sta pano i CD contenuti dei due "ile di testo che si ulano i database, in ordine al"abetico. )l co ando + sta pera# in ordine al"abetico i CD che sono presenti nel database dei CD disponibili assenti in &uello dei CD posseduti. )l co ando 4 sta pera# gli ulti i CD presenti nel database di &uelli disponibili. 2 tal "ine si assu a che in tale database i CD appena arrivati siano + e che vengano inseriti in "ondo al "ile di testo. )l co ando - co pra un CD: toglie una occorrenza del CD ac&uistato dal database di &uelli disponibili, e lo aggiunge al database di &uelli posseduti. )l co ando . vende un CD: toglie una occorrenza del CD venduto dal database di &uelli posseduti. )l co ando 7 lista tutti i CD corrispondenti al para etro passato. )l para etro puo# essere o il no e di un gruppo, o il titolo di un albu . !a ricerca puo# essere e""ettuata, a scelta dell#utente, sia sul "ile dei CD posseduti, sia sul "ile dei CD disponibili. a enu# che "ornira# le seguenti opzioni:

FAQ
1. E possibile inserire il codice su script separati, oppure bisogna usare le funzioni? 3uesta decisione 4 lasciata allo studente, che pu5 scegliere il odo pi6 opportuno. *7 &uindi possibile sviluppare il progra a inserendo il codice su "unzioni oppure su "ile separati. 2. Come devono essere passate le eventuali opzioni per i comandi? 3uesta decisione 4 lasciata allo studente, che pu5 scegliere il odo pi6 opportuno, ovvero co e linea di co ando, in odo interattivo oppure tra ite "ile di con"igurazione. 3. E possibile usare il comando sort/uni /comm/sed/aw!/etc.? S8. 3ualsiasi co ando bash 4 consentito, anche se non spiegato a lezione. !o studente e# pero# tenuto a conoscere i co andi che usa nel codice. 9on 4 lecito usare script in altri linguaggi, &uali ad ese pio (erl o 0C!. 9.:.: 0utto &uanto non esplicitato in &uesto docu ento pu5 essere i ple entato libera ente.