lcs:lcs07:esercitazioni:esercitazione3
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
lcs:lcs07:esercitazioni:esercitazione3 [26/02/2007 alle 15:19 (19 anni fa)] – creata Susanna Pelagatti | lcs:lcs07:esercitazioni:esercitazione3 [23/03/2007 alle 12:56 (19 anni fa)] (versione attuale) – Susanna Pelagatti | ||
---|---|---|---|
Linea 63: | Linea 63: | ||
Chi riesce a farlo in meno linee di codice? | Chi riesce a farlo in meno linee di codice? | ||
+ | |||
+ | ===== Esercizio 5: opzioni : mykeyselect ===== | ||
+ | Scrivere uno script | ||
+ | < | ||
+ | mykeyselect | ||
+ | </ | ||
+ | //file// contiene su ogni riga delle coppie | ||
+ | < | ||
+ | chiave valore | ||
+ | </ | ||
+ | dove '' | ||
+ | |||
+ | Le gestione delle opzioni deve avere le seguenti proprieta': | ||
+ | * le opzioni possono essere fornite in un qualsiasi ordine ma sempre prima del nome del file (es: | ||
+ | < | ||
+ | mykeyselect -b 20 -a filename | ||
+ | mykeyselect -c -a -b 30 filename | ||
+ | </ | ||
+ | * e' possibile specificare opzioni multiple con un singolo ' | ||
+ | < | ||
+ | mykeyselect -ac gigi | ||
+ | </ | ||
+ | * e' possibile omettere lo spazio fra opzione ed argomento es: | ||
+ | < | ||
+ | mykeyselect -b20 -a filename | ||
+ | mykeyselect -cgigi -a -b 30 filename | ||
+ | mykeyselect -acgigi filename | ||
+ | </ | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | ===== Esercizio 6: interi : totdu ===== | ||
+ | Sviluppare uno script: | ||
+ | < | ||
+ | totdu [< | ||
+ | </ | ||
+ | che per ogni argomento che sia una directory stampa lo spazio utilizzato dalla directory e da tutte le sue sottodirectory, | ||
+ | Se non viene specificata alcuna directory si forniscono informazioni sulla directory corrente. Ad esempio: | ||
+ | < | ||
+ | bash:~$ totdu ciccio pippo | ||
+ | ciccio: Totale 18098176 byte 17 MB | ||
+ | pippo: Totale 14336 byte 14 KB | ||
+ | </ | ||
+ | |||
+ | // | ||
+ | |||
+ | ===== Esercizio 7: self exec shell ===== | ||
+ | Provare ad eseguire: | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | # self-exec.sh | ||
+ | echo "This line appears ONCE in the script, yet it keeps echoing." | ||
+ | echo "The PID of this instance of the script is still $$." | ||
+ | # The same shell always running | ||
+ | echo " | ||
+ | sleep 1 | ||
+ | |||
+ | exec $0 | ||
+ | |||
+ | echo "This line will never echo!" | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | che succede? perche? | ||
+ | |||
+ | ===== Esercizio 8: makecmd: a simple make ===== | ||
+ | Implementare una funzione '' | ||
+ | < | ||
+ | target: source1 .. sourceN | ||
+ | cmd1 | ||
+ | .... | ||
+ | cmdK | ||
+ | </ | ||
+ | fornito sullo standard input secondo la usuale semantica ' | ||
+ | Ad esempio: | ||
+ | < | ||
+ | bash:~$ more makefile | ||
+ | a : b c d | ||
+ | echo "Sto eseguendo!" | ||
+ | bash:~$ makecmd < makefile | ||
+ | echo "Sto eseguendo!" | ||
+ | Sto eseguendo! | ||
+ | </ | ||
+ | Utilizzare il builtin '' |
lcs/lcs07/esercitazioni/esercitazione3.1172503175.txt.gz · Ultima modifica: 27/06/2007 alle 12:16 (18 anni fa) (modifica esterna)