1 / 19

Programmazione Shell

Programmazione Shell. Bash Shell Bourne again shell. Iniziamo!!!. echo '**** Calendario Anno *****' cal 2008 Dopo aver scritto un file di nome calendario Nel terminale scrivere bash calendario. Interprete?.

noleta
Download Presentation

Programmazione Shell

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. Programmazione Shell • Bash Shell • Bourne again shell

  2. Iniziamo!!! • echo '**** Calendario Anno *****' • cal 2008 • Dopo aver scritto un file di nome calendario • Nel terminale scrivere bash calendario

  3. Interprete? • La bash shell è un interprete di linguaggio di comandi si trova nella directory /bin • Aggiungi sempre agli script #!/bin/bash • Specifica appunto l'interprete dei comandi che vogliamo utilizzare!

  4. Rendiamolo eseguibile • chmod +x calendario • Per eseguirlo ./calendario

  5. Calendario di un dato anno • echo '**** Calendario Anno *****' • cal $1 • Quando invochiamo il calendario aggiungiamo come parametro l'anno desiderato • Es: ./calendario 2009

  6. Debug • Per utilizzare un debugger per gli script : • bash – v nome_script

  7. Variabili Shell • a=3 assegnazione • citta=roma • nome='Carlo Contardi' • declare media

  8. echo $a • Stampa il valore di a • unset a • echo $a • Non produce alcun valore in output!!!

  9. Array • a=(1 2 18 13 15) • a[1]=7 • Si può modificare la dimensione aggiungendo elementi a[5]=67 • Per visualizzare il valore di una componente: • echo ${a[2]}

  10. Per visualizzare tutte le componenti: • Echo ${a[*]}

  11. Output dati e messaggi • echo 'che bella gionata' • echo ”area figura = $a” • echo ”il libro \” Notturno Indiano \” costa $prezzo euro” • \t tabulazione normale • \n linefeed • \r carriage return

  12. Operatori aritmetici • Per memorizzare il risultato di un operazione di calcolo let : • let b=a+1 • Gli operatori aritmetici sono gli stessi dei linguaggi C o Java: • + , - , * , / , % , += , -= , /= , *= , %=

  13. Operatori di confronto • -eq op1=op2 • -ne op1!=op2 • -lt op1<op2 • -le op1<=op2 • -gt op1>op2 • -ge op1>=op2

  14. Stutture di selezione • if [ condizione ] • then • comando • fi

  15. Esempio! • #!/bin/bash • #scelte • if [ "$1" = 'lista' ] • then • ls -l • fi • if [ "$1" = 'data' ] • then • date • fi

  16. Salvalo come scelte • Cambia i permessi con chmod • Eseguilo specificando l'argomento

  17. Rinominare un file #!/bin/bash #cambio nome if [ $# -ne 2 ] then echo ' troppo pochi parametri!!!' elif [ -e $2 ] # per controllare l'esistenza di un file then echo ' il secondo file esiste già' elif [ -e $1 ] then mv $1 $2 else echo ' il primo file non esiste' fi

  18. Traduciamo? • Creiamo un file di testo di nome dizion contenente per ogni riga un termine italiano e la sua traduzione in inglese, separati dal carattere di tabulazione

  19. Ecco il programma #!/bin/bash if [ $# -ne 1 ] then echo "inserisci <comando> <termine>" else traduzione=`grep $1 dizion | cut -f2` # NOTA BENE!!! non è un apice normale ma AltGr + apice normale # NOTA BENE 2!!!! per questa assegnazione non devono essere presenti spazi tra gli operatori! if [ -z $traduzione ] then echo ' Il termine non è presente nel dizionario' else echo " La traduzione di $1 = $traduzione " fi fi

More Related