Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio12:esercitazioni:esercitazione4

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

informatica:sol:laboratorio12:esercitazioni:esercitazione4 [12/03/2012 alle 08:10 (13 anni fa)] – creata Susanna Pelagattiinformatica:sol:laboratorio12:esercitazioni:esercitazione4 [12/03/2012 alle 08:15 (13 anni fa)] (versione attuale) Susanna Pelagatti
Linea 1: Linea 1:
 ====== Esercitazione 4 ====== ====== Esercitazione 4 ======
  
-Dove si sperimentano alcuni comandi bash e si scrivono i primi script.+Dove si sperimentano alcuni comandi di base bash.
  
 ===== Esercizio -1: Basics interazione utente ===== ===== Esercizio -1: Basics interazione utente =====
Linea 82: Linea 82:
  
  
-===== Esercizio 8: Esecuzioni periodiche: il cron system ===== 
-Utilizzare ''crontab'' per fare in modo di ricevere, una volta al minuto, una e-mail contenente la stringa "Pippo Pluto e Paperone ...". 
- 
-''crontab'' permette di registrare dei comandi e delle periodicita' in un file (che chiameremo ''crontabFile'') e poi di registrare il file in modo che il cron system di Linux mandi in esecuzione il comando automaticamente agli istanti prefissati. 
-Il  ''crontabFile'' e' costituito da una sequenza di linee di sei campi 
-<code> 
-minuti ore giorni mesi giorniDellaSettimana comando 
-</code> 
-i primi 5 servono a specificare la periodicita' (0-59 per i minuti, 0-23 per le ore, 1-31 per i giorni, 1-12 per i mesi e 1-7 per i giorni della settimana) mentre il comando e' un qualsiasi comando unix. Ogni volta che il tempo corrente del sistema corrisponde a una richiesta di periodicita', il comando Unix viene eseguito e lo standard output del comando viene inviato all'utente che lo ha registrato, via e-mail. 
-Se in un campo si specifica ''*'' il matching e' sempre verificato. Ad esempio: 
-<code> 
-bash:~$ cat crontab.cron 
-0            echo "Lunedi' mattina ore 8" 
-*            echo "E' passato un minuto" 
-</code> 
-in questo caso il primo comando viene eseguito ogni lunedi' alle 8 mentre il secondo viene eseguito ogni minuto. Consultare man crontab per capire come effettuare la registrazione del cronfile. 
- 
-===== Esercizio 9: Cron e segnali .... ===== 
-Usare ''crontab'' e ''kill'' per inviare un segnale SIGUSR1 ogni minuto alla shell corrente ed usare ''trap'' per far stampare alla shell un breve messaggio ogni volta che riceve un segnale SIGUSR1. 
- 
-''kill'' permette di inviare un segnale ad un processo di cui si conosce il pid. Usare ''ps'' o ''$$'' per ottenere il pid della shell corrente . ''trap'' invece permette di registrare un comando da effettuare all'arrivo di un segnale. 
- 
-===== Esercizio 10: Rimozione periodica dei core file ===== 
- 
-Utilizzare ''crontab'' per rimuovere tutti i file di core di un determinato utente all'inizio di ogni giornata lavorativa.  
- 
-//Suggerimento:// Per non fare troppi danni, realizzare prima una versione che lista semplicemente i file da rimuovere senza cancellare niente. 
- 
- 
-===== Esercizio 11 : getting started ===== 
-Scrivere uno script bash //gettingStarted// che stampi il suo nome, il numero degli argomenti ed i primi tre argomenti (se esistono). Come 
-<code> 
-bash:~$ ./gettingStarted mio tuo suo 
-Script ./gettingStarted con 3 argomenti 
-Primo parametro mio 
-Scondo parametro tuo 
-Terzo parametro suo 
-Ciao Mondo 
-bash:~$  
-</code> 
- 
-===== Esercizio 12: mycd ===== 
- 
-Scrivere una funzione Bash che implementa una versione personalizzata del 
-builtin //cd// in cui prima viene eseguito il cambio di directory per mezzo 
-del nomale builtin //cd// e poi viene eseguita una stampa formattata che ricorda la 
-directory di partenza e quella di arrivo. Es: 
-<code> 
-bash:~$ mycd PROVA 
-mycd: successo! /home/s/susanna --> /home/s/susanna/PROVA 
-bash:~/PROVA$ 
-</code> 
-Se il cambio della working directory non ha successo //mycd// stampa il normale 
-messaggio di errore del builtin //cd//. 
  
informatica/sol/laboratorio12/esercitazioni/esercitazione4.1331539840.txt.gz · Ultima modifica: 12/03/2012 alle 08:10 (13 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki