La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.

Presentazioni simili


Presentazione sul tema: "Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica."— Transcript della presentazione:

1 Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica

2 Sistemi Operativi - Introduzione 2 Indice Variabili Funzioni Read Segnali

3 Sistemi Operativi - Introduzione 3 Indice Variabili Funzioni Read Segnali

4 Sistemi Operativi - Introduzione 4 Variabili Variabili predefinite: $0 nome script $1,$2,... parametri $# numero parametri $* stringa con tutti i parametri $? valore di ritorno dellultmo programma $$ PID del processo $?var 1 se var e` stata definita $#var il numero di elementi nellarray var

5 Sistemi Operativi - Introduzione 5 Variabili - array Sono gestite variabili vettoriali unidimensionali: Esempi: var=(1 2 5 ciao) echo ${var[0]} echo ${var[1-3]} Utili nelle funzioni: BASH_ARGV[] e BASH_ARGC

6 Sistemi Operativi - Introduzione 6 Indice Variabili Funzioni Read Segnali

7 Sistemi Operativi - Introduzione 7 Funzioni Si possono definire delle funzioni, prima che vengano chiamate, con la seguente sintassi: [function] name () {commands} Il valore di ritorno e` definito: o dal valore dellultimo comando eseguito o dal comando return I parametri sono definiti con la notazione posizionale: $1, $2, $3... Le funzioni vengono chiamate con la seguente sintassi: name param1 param2...

8 Sistemi Operativi - Introduzione 8 Funzioni - esempio function printUsage { echo Wrong number of parameters ($1) echo Usage: ${BASH_ARGV[0]} param1 param2 exit 0 }... if test $# -ne 2 then printUsage $# fi

9 Sistemi Operativi - Introduzione 9 Indice Variabili Funzioni Read Segnali

10 Sistemi Operativi - Introduzione 10 Read read permette di leggere una riga da stdin, con la seguente sintassi: read var1 var2... varN ogni parola (separata da spazi) viene messa in una variabile lultima variabile contiene tutte le rimanenti parole permette di fare input interattivo.

11 Sistemi Operativi - Introduzione 11 read - esempi (per scambiare due colonne in un file): while read var1 var2 do echo $var2 $var1; done file_out (input interattivo): echo –n Insert a sentence: read w1 w2 others echo Word 1 is: $w1 echo Word 2 is: $w2 echo The rest of the line is: $others

12 Sistemi Operativi - Introduzione 12 Indice Variabili Funzioni Read Segnali

13 Sistemi Operativi - Introduzione 13 Segnali I processi possono ricevere dei segnali, o dallutente o da altri processi. Il processo puo` quindi decidere di: ignorare il segnale eseguire il comportamento di default gestire il segnale Per mandare un segnale si usa il comando kill –signal pid dove signal puo` essere un numero o un nome (come KILL o USR1 ecc.).

14 Sistemi Operativi - Introduzione 14 Segnali Per specificare il comportamento da adottare si usa il comando: trap [commands] [signal...] 1.trap commands signals... esegue commands alla ricezione di signals 2.trap signals... ignora tutti i segnali signals 3.trap signals... ripristina il comportamento di default per i segnali signals.

15 Sistemi Operativi - Introduzione 15 Segnali - esempi (per gestire il segnale SIGALRM): trap echo mi sono svegliato ALRM (per ripristinare il valore di default): trap ALRM (per ignorare SIGUSR1 e SIGUSR2): trap USR1 USR2


Scaricare ppt "Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica."

Presentazioni simili


Annunci Google