













Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
slide di sistemi operativi sul bash scripting
Tipologia: Appunti
1 / 21
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!














Sistemi Operativi - Script di Shell 1
Nota: in tal caso non serve il permesso di esecuzione
Sistemi Operativi - Script di Shell 3
Sistemi Operativi - Script di Shell 7
Sistemi Operativi - Script di Shell 9
Sistemi Operativi - Script di Shell 13
Sistemi Operativi - Script di Shell 15
$ cat test #!/bin/tcsh
set str1 = "abc" set str2 = "abd" echo "str1 = $str1; str2 = $str2" if ($str1 == $str2) then echo "str1 uguale a str2" else echo "str1 diversa da str2" endif $ ./test str1 = abc; str2 = abd str1 diversa da str
$ cat test #!/bin/bash
str1="abcì (NO spazi) str2="abd" echo "str1 = $str1; str2 = $str2" if test $str1 = $str (oppure if [ $str1 = $str2 ] (SPAZI [ ])) then echo "str1 uguale a str2" else echo "str1 diversa da str2" fi $ ./test str1 = abc; str2 = abd str1 diversa da str
ï TCSH ñ == uguale ñ != diverso
ï BASH ñ = uguale ñ != diverso ñ -n lunghezza > di 0 ñ -z lunghezza = 0
Sistemi Operativi - Script di Shell 19
ï TCSH ñ! NOT ñ && AND ñ || OR
ï BASH ñ! NOT ñ -a AND ñ -o OR
Sistemi Operativi - Script di Shell 21
ï TCSH ñ if (espressione) then istruzioni else if (espressione) then istruzioni else istruzioni endif
ï BASH ñ if [ espressione ] then istruzioni elif [ espressione ] then istruzioni else istruzioni fi
ï TCSH ñ foreach myVar (elenco) istruzioni end
ï BASH ñ for myVar in elenco do istruzioni done
Sistemi Operativi - Script di Shell 25
ï TCSH ñ set ind = 0 while ($ind <= 15) touch ìxxx$indî set ind = expr $ind + 1 end
ï BASH ñ ind=0; while [ $ind -le 15 ] do touch "xxx$ind" ind=expr $ind + 1 done ATTENZIONE agli spazi vicino allí= e vicino alle [ ], nonchÈ alle posizioni delle $
ï TCSH ñ switch (str) case str1 | str2: istruzioni breaksw default: istruzioni breaksw endsw
ï BASH ñ case str in str1) istruzioni ;; str2 | str3) istruzioni ;; *) istruzioni ;; esac
Sistemi Operativi - Script di Shell 27
ï TCSH ñ switch ($1) case 01 | 1: echo ìGennaioî breaksw ... default: echo ìNon validoî breaksw endsw
ï BASH ñ case $1 in 01 | 1) echo ìGennaioî;; 02 | 2) echo ìFebbraioî;; ...
Sistemi Operativi - Script di Shell 31
ï tr permette di trasfomare un file agendo sui caratteri contenuti; ad es. tr a-z A-Z < a > b salva in b il file a dopo aver trasformato i caratteri minuscoli in maiuscoli ï wc (word count): conta il numero di byte (wc ñc nomefile), di linee (wc ñl), di parole (wc ñw) ï uniq da utilizzare in pipe ad es. con sort per eliminare i duplicati es: Ö.| sort | uniq ï pr stampa i file di testo con un minimo di formattazione; in particolare pr ñn stampa aggiungendo i numeri di linea (utilissimo per stampare il codice)
ï In bash $[expr] num1= num2=$[$num13+1] (* NO spazi vicino allí=) Altrimenti usare il comando expr ï In tcsh usare le espressioni come mostrato set num1 = 5 @ num2 = $num1 * 3 + 1 (@ puÚ sostituire set, ma non vale il contrario) echo $num1 $num stampa -> 5 16
Sistemi Operativi - Script di Shell 33
Sistemi Operativi - Script di Shell 37
Sistemi Operativi - Script di Shell 39