Esempi Interattivi BOURNE SHELL
Sono disponibili i file dei programmi SHELL mostrati durante le lezioni interattive (formato TXT) [oltre ai <A HREF="Lucidi.html">lucidi</A> mostrati durante le lezioni (formato PDF)]:
<A HREF="Lucidi/esempiInterattivi/shell/utenteSfortunato">Prova di login di un utente sfortunato</A>
<A HREF="Lucidi/esempiInterattivi/shell/provac.txt">Programma C che serve per evidenziare il comportamento del SET USER ID</A>
<A HREF="Lucidi/esempiInterattivi/shell/prova.txt">Programma C che serve per evidenziare il comportamento dello
standard input e standard output e quindi legge con scanf e scrive con printf un carattere alla volta.</A>
<A HREF="Lucidi/esempiInterattivi/shell/provacomandi">Primo esempio di file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/provaVar">Esempio di variabili shell in un file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/provaSost">Esempio di sostituzioni shell in un file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/provaPar">Esempio di passaggio di parametri e altre variabili in un file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/DIR">Esempio di uso di parametri in un file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/if1">Primo esempio di IF in un file comandi: uso di grep</A>
<A HREF="Lucidi/esempiInterattivi/shell/if2">Secondo esempio di IF in un file comandi: ancora uso di grep con ridirezione</A>
<A HREF="Lucidi/esempiInterattivi/shell/if3">Terzo esempio di IF in un file comandi: uso di test</A>
<A HREF="Lucidi/esempiInterattivi/shell/DIRCTL">Ulteriore esempio di IF in un file comandi: controllo numero parametri</A>
<A HREF="Lucidi/esempiInterattivi/shell/DIRCTL1">Ancora un esempio di IF in un file comandi: oltre controllo numero parametri anche controllo file/direttorio</A>
<A HREF="Lucidi/esempiInterattivi/shell/LeggiEMostra">Esempio di IF e READ in un file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/LeggiEMostra1">Ulteriore esempio di IF e READ in un file comandi: uso di ridirezione su /dev/tty</A>
<A HREF="Lucidi/esempiInterattivi/shell/nroPar">Primo esempio di CASE in un file comandi: controllo numero parametri</A>
<A HREF="Lucidi/esempiInterattivi/shell/readCase">Secondo esempio di CASE e READ in un file comandi</A>
<A HREF="Lucidi/esempiInterattivi/shell/append">Terzo esempio di CASE in un file comandi: esecuzione differenziata</A>
<A HREF="Lucidi/esempiInterattivi/shell/for1">Primo esempio di FOR in un file comandi: esecuzione per tutti i file di una directory</A>
<A HREF="Lucidi/esempiInterattivi/shell/for1Bis">Ulteriore primo esempio di FOR in un file comandi: esecuzione per tutti i file nascosti di una directory</A>
<A HREF="Lucidi/esempiInterattivi/shell/for2">Secondo esempio di FOR in un file comandi: esecuzione per tutti i parametri</A>
<A HREF="Lucidi/esempiInterattivi/shell/for3">Terzo esempio di FOR in un file comandi: esecuzione per tutti i file che soddisfano un certo pattern</A>
<A HREF="Lucidi/esempiInterattivi/shell/for4">Quarto esempio di FOR in un file comandi: esecuzione per tutti i nomi contenuti in un file</A>
<A HREF="Lucidi/esempiInterattivi/shell/crea">Quinto esempio di FOR in un file comandi: creazione di una serie di file </A>
<A HREF="Lucidi/esempiInterattivi/shell/ce">Esempio di WHILE in un file comandi: verifica, con eventuale attesa, della presenza di un file </A>
<A HREF="Lucidi/esempiInterattivi/shell/ceUtente">Esempio di UNTIL in un file comandi: verifica, con eventuale attesa, della presenza di un utente</A>
Esempio di un insieme di file comandi che cercano un file in una gerarchia (prima versione): <A HREF="Lucidi/esempiInterattivi/shell/Beginc.sh">file comandi iniziale</A> e <A HREF="Lucidi/esempiInterattivi/shell/Cercadir.sh"><B>file comandi ricorsivo (con ricerca breadth-first)</A>
Esempio di un insieme di file comandi che cercano un file in una gerarchia (seconda versione): <A HREF="Lucidi/esempiInterattivi/shell/Beginc1.sh">file comandi iniziale</A> e <A HREF="Lucidi/esempiInterattivi/shell/Cercadir1.sh"><B>file comandi ricorsivo (con ricerca depth-first)</A>
Esempio di un insieme di file comandi che risolvono la parte in Shell di un
possibile esercizio d'esame</A>:
<A HREF="Lucidi/esempiInterattivi/5aprile01/princ.sh">file comandi iniziale</A> e
<A HREF="Lucidi/esempiInterattivi/5aprile01/esplora.sh"><B>file comandi ricorsivo</A>
Esempio di un insieme di file comandi che risolvono la parte in Shell di un
possibile esercizio d'esame</A> (specifica leggermente diversa dalla precedente):
<A HREF="Lucidi/esempiInterattivi/5aprile01/ver2/princ.sh">file comandi iniziale</A> e
<A HREF="Lucidi/esempiInterattivi/5aprile01/ver2/esplora.sh"><B>file comandi ricorsivo</A>
Esempio di un insieme di file comandi che contano i file totali presenti in una
gerarchia - prima versione che usa variabile globale e valore di ritorno di un file comandi:
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver1/contaA.sh">file comandi iniziale</A> e
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver1/contaB.sh">file comandi ricorsivo</A>
<B>Esempio di un insieme di file comandi che contano i file totali presenti in una
gerarchia - seconda versione che usa un file temporeaneo per i nomi dei file:
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver2/contaA.sh">file comandi iniziale</A> e
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver2/contaB.sh">file comandi ricorsivo</A>
<B>Esempio di un insieme di file comandi che contano i file totali presenti in una
gerarchia - terza versione che usa un file temporeaneo per il contatore:
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver3/contaA.sh">file comandi iniziale</A> e
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver3/contaB.sh">file comandi ricorsivo</A>
<B>Esempio di un insieme di file comandi che contano i file totali presenti in una
gerarchia - quarta versione che usa variabile locale e valore di ritorno di un file comandi:
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver4/contaA.sh">file comandi iniziale</A> e
<A HREF="Lucidi/esempiInterattivi/shell/conta/ver4/contaB.sh">file comandi ricorsivo</A>