Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Clemente Galdi » 5.Esercitazioni su shell scripting - parte seconda


Esercizio 1

  • Creare una directory eser2
  • Creare, all’interno di eser2, un insieme di file e di sottodirectory
  • Scrivere in eser2 uno script shell che
    • Crei la directory “MovedFiles”
    • Rinomini tutti I file “.txt” in “.xtx”
    • Sposti tutti i file (ad eccezione delle sottodirectory) all’interno di “MovedFiles”

Esercizio 2

Scrivere uno script shell che crei un nuovo file (per es. “FileList”) nella directory corrente contenente la lista dei file preponendo:

  • al nome di un file “regolare” la lettera ‘F’
  • al nome di direcroty la lettera ‘D’

Lo script ordina il file così creato e lo visualizza su standard error.

Esercizio 3

Scrivere uno script shell che riceve in input due argomenti:

  • primo argomento: un nome di directory
  • secondo argomento: una stringa

Lo script:

  • Visualizza un messaggio d’errore e termina se:
    • il numero di parametri passati dall’utente è diverso da due
    • Il primo argomento non corrisponde ad una directory.
  • In caso non vi siano errori, visualizza:
    • i nomi dei file all’interno della directory specificata, che contengano la stringa.

Esercizio 4

Scrivere uno script shell che prenda in input tre parametri:

  • Due valori numerici
  • Un carattere che denota un operatore: s=somma, m=sottrazione, d=divisione e p=prodotto.

Lo script esegue l’operazione indicata e visualizza il risultato.
Lo script deve controllare che:

  • il numero di parametri sia corretto. In caso contrario visualizza un errore.
  • il terzo parametro appartenga all’insieme dei parametri consentiti (e in caso contrario visualizzi un errore)

Es.:

  • Input: esercizio 4 4 5 s
  • Output: 9

Esercizio 5

Si scriva (e si esegua) uno script che riceve due parametri n ed m.
Per ogni i=1,…,n
Se la directory sorgenti_i non esiste

  • Crea la directory sorgenti_i, e visualizza “Directory sorgenti_i creata con successo” od un messaggio di errore
  • Crea la directory header_i, e visualizza “Directory header_i creata con successo” od un messaggio di errore
  • Crea in sorgenti_i, I file source_i_j.c, per j=1,…,m
  • Crea in header_i.h, I file header_i_j.c, per j=1,…,m

Riscrivere lo stesso script utilizzando I costrutti for, while ed until.

Esercizio 6

Scrivere uno script shell che, per ogni utente connesso visualizzi:

  • il numero di processi attivi sulla macchina;
  • Il PID minimo;
  • Il PID massimo.

Esercizio 7

Scrivere uno script shell che prende come parametro il nome di una directory D ed elenchi, nell’ordine:

  • Tutti I file regolari contenuti nell’albero radicato in D;
  • Tutti I file eseguibili contenuti nell’albero radicato in D;
  • Tutte le directory contenute nell’albero radicato in D.

Esercizio 8

Scrivere uno script “driver” per gli esercizi appena visti.

  1. Lo script visualizza un semplice menu testuale.
    • Ad es. 1) esercizio1, 2) esercizio2… 9) fine
  2. Prende in input un valore ed esegue lo script corrispondente
    • Se lo script necessita di parametri, questi vengono richiesti all’utente.
  3. Lo script termina se l’utente selezione l’opzione di terminazione (nell’esempio il numero 9) altrimenti torna al passo 1.

Utilizzare le funzioni per implementare le differenti opzioni.

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93