1 / 15

Sistemi Operativi - Introduzione

Il sistema operativo UNIX Shell: uso avanzato e script. Niccol ò Battezzati <niccolo.battezzati@polito.it> Politecnico di Torino Dip. Automatica e Informatica. 1. Sistemi Operativi - Introduzione. Indice. Variabili Funzioni Read Segnali. 2. Sistemi Operativi - Introduzione. Indice.

amato
Download Presentation

Sistemi Operativi - Introduzione

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati<niccolo.battezzati@polito.it> Politecnico di Torino Dip. Automatica e Informatica 1 Sistemi Operativi - Introduzione

  2. Indice • Variabili • Funzioni • Read • Segnali 2 Sistemi Operativi - Introduzione

  3. Indice • Variabili • Funzioni • Read • Segnali 3 Sistemi Operativi - Introduzione

  4. Variabili • Variabili predefinite: • $0 nome script • $1,$2,... parametri • $# numero parametri • $* stringa con tutti i parametri • $? valore di ritorno dell’ultmo programma • $$ PID del processo • $?var ‘1’ se var e` stata definita • $#var il numero di elementi nell’array var 4 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 5 Sistemi Operativi - Introduzione

  6. Indice • Variabili • Funzioni • Read • Segnali 6 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 dell’ultimo 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 ... 7 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 8 Sistemi Operativi - Introduzione

  9. Indice • Variabili • Funzioni • Read • Segnali 9 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 • l’ultima variabile contiene tutte le rimanenti parole • permette di fare input interattivo. 10 Sistemi Operativi - Introduzione

  11. read - esempi • (per scambiare due colonne in un file): • while read var1 var2 • do • echo $var2 $var1; • done <file_in >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” 11 Sistemi Operativi - Introduzione

  12. Indice • Variabili • Funzioni • Read • Segnali 12 Sistemi Operativi - Introduzione

  13. Segnali • I processi possono ricevere dei segnali, o dall’utente 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.). 13 Sistemi Operativi - Introduzione

  14. Segnali • Per specificareilcomportamentodaadottaresiusailcomando: trap [‘commands’] [signal...] • trap ‘commands’ signals... eseguecommandsallaricezionedisignals • trap ‘’ signals... ignoratuttiisegnalisignals • trap signals... ripristinailcomportamentodi default per isegnalisignals. 14 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 15 Sistemi Operativi - Introduzione

More Related