Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio15:esercitazionia:esercitazione5

Esercitazione 5

Comandi unix e script bash.

Cercare di completare tutti gli esercizi durante le ore di laboratorio e nel caso come homework.

Esercizio 1

Scrivere uno script bash che legga dallo standard input e scrive il testo ricevuto sia sullo standard output che sul file passato come argomento allo script.

Esercizio 2

Scrivere uno script bash che esegue un ciclo infito e che intercetta i segnali SIGUSR1 e SIGUSR2 ad ogni decimo di secondo. Quando viene ricevuto il segnale SIGUSR1 lo script stampa sullo standard output la stringa contenente un timestamp (usando ad esempio il comando date +“%T”) e la stringa “ricevuto segnale SIGUSR1”, invece, quando riceve il segnale SIGUSR2 stampa sullo standard error, oltre al timestamp, la stringa “ricevuto segnale SIGUSR2”.
Lanciare lo script in background redirigendo lo standard output sul file “out.txt” e lo standard error sul file “err.txt”.
Testare lo script lanciando i 2 segnali SIGUSR1 e SIGUSR2 per 10 volte a distanza di 1 secondo e quindi terminare il processo in background.
NOTA: il pid dell'ultimo processo lanciato in background è dato dalla variabile di shell $!.

Esercizio 3

Realizzare uno script che prende 3 argomenti in input (tutti e 3 nomi di directory): dir1 dir2 dir3. Lo script copia nella directory dir3 ogni file in dir1 che non e' presente in dir2 e/o che differisce da un file che ha lo stesso nome.

Esercizio 4

Scrivere uno script bash che dato un file testuale come argomento contenente numeri (un numero per riga) restituisce in output: il numero di elementi, il massimo, il minimo ed il valore medio. Esempio di output:

$> ./media.sh numeri.txt
Elementi:12
Min     :-2
Max     :10
Media   :4.33

Esercizio 5

Considerare nuovamente l'esercizio 4. Scrivere uno script che calcola la varianza dei numeri contenuti nel file passato come argomento. Esempio di output:

$> ./varianza.sh numeri.txt
Varianza:12.831

Esercizio 6

Scrivere uno script bash che dato un nome di directory ed una “size” (in MBytes) come paramentri, cerca tutti i file regolari contenuti a partire dalla directory argomento e che hanno una dimensione maggiore di “size” e che non sono stati acceduti negli ultimi 5 giorni. I file che matchano tali caratteristiche vengono compressi con il comando gzip

informatica/sol/laboratorio15/esercitazionia/esercitazione5.txt · Ultima modifica: 25/04/2015 alle 20:05 (9 anni fa) da Massimo Torquati