#!/bin/bash Alberto Pollastro
La shell <ul><li>La traduzione di shell più calzante è guscio
E' un'interfaccia tra l'uomo e il sistema operativo
E' un interprete dei comandi di tipo testuale
Viene invocata ogni volta che si effettua il login
Nei sistemi GNU/Linux esistono diverse shell: </li><ul><li>Bash (Bourn Again Shell)
CSH (C Shell)
KSH (Korn Shell) </li></ul><li>Per visualizzare le shell disponibili sul proprio sistema: </li><ul><li>cat /etc/shells </l...
Bash <ul><li>Bash (Bourne Again Shell)
Deriva dalla Bourne Shell, da cui il nome Bash
La prima versione è stata rilasciata nel 1987
Upcoming SlideShare
Loading in …5
×

#!/bin/bash ed esempi di scripting

14,586 views
14,253 views

Published on

Cos'è la shell? Alcuni esempi d'uso pratici.

__
di: Pollastro Alberto

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
14,586
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

#!/bin/bash ed esempi di scripting

  1. 1. #!/bin/bash Alberto Pollastro
  2. 2. La shell <ul><li>La traduzione di shell più calzante è guscio
  3. 3. E' un'interfaccia tra l'uomo e il sistema operativo
  4. 4. E' un interprete dei comandi di tipo testuale
  5. 5. Viene invocata ogni volta che si effettua il login
  6. 6. Nei sistemi GNU/Linux esistono diverse shell: </li><ul><li>Bash (Bourn Again Shell)
  7. 7. CSH (C Shell)
  8. 8. KSH (Korn Shell) </li></ul><li>Per visualizzare le shell disponibili sul proprio sistema: </li><ul><li>cat /etc/shells </li></ul><li>Per visualizzare la shell in uso: </li><ul><li>echo $SHELL </li></ul></ul>
  9. 9. Bash <ul><li>Bash (Bourne Again Shell)
  10. 10. Deriva dalla Bourne Shell, da cui il nome Bash
  11. 11. La prima versione è stata rilasciata nel 1987
  12. 12. Ad oggi è la shell più usata nei sistemi GNU/Linux
  13. 13. E' anche la shell di default per Mac OS X
  14. 14. Esegue i comandi letti da standard input (tastiera) o da file
  15. 15. Offre una sintassi ricca che permette di eseguire sequenze di comandi articolate, tecnicamente chiamati bash script </li></ul>
  16. 16. Script vs. Eseguibile (1) <ul><li>Uno script è un programma interpretato: </li><ul><li>E' un file testuale che contiene un elenco di comandi
  17. 17. Il file viene interpretato da un interprete e tradotto in linguaggio macchina ogni volta che viene eseguito </li></ul><li>Un eseguibile è un programma compilato: </li><ul><li>E' un file binario che contiene le istruzioni macchina
  18. 18. Il file viene generato compilando il codice sorgente del programma </li></ul><li>L'esecuzione degli eseguibili è più veloce di quella degli script
  19. 19. L'uso degli script è più flessibile e immediato rispetto agli eseguibili </li></ul>
  20. 20. Script vs. Eseguibile (2) <ul><li>Alcuni esempi di linguaggi interpretati: </li><ul><li>Perl
  21. 21. Python
  22. 22. Lua </li></ul><li>Alcuni esempi di linguaggi compilati: </li><ul><li>C/C++
  23. 23. C#
  24. 24. Visual Basic </li></ul></ul>
  25. 25. Bash Scripting <ul><li>Il linguaggio della shell Bash permette di creare script
  26. 26. Perchè imparare ad utilizzare gli script Bash? </li><ul><li>Si possono automatizzare compiti complessi e ripetitivi
  27. 27. I sistemi GNU/Linux hanno moltissimi comandi testuali
  28. 28. Le procedure di avvio del sistema operativo sono gestite da degli script Bash
  29. 29. Nei sistemi GNU/Linux, quasi tutti i dispositivi sono rappresentati da file e con gli script Bash è molto facile interagire con i file </li></ul><li>Impareremo ad utilizzare lo scripting bash con due esempi pratici: </li><ul><li>dir_analyzer.sh
  30. 30. file_organizer.sh </li></ul></ul>
  31. 31. file_organizer.sh <ul><li>Si vuole realizzare uno script che: </li><ul><li>Prenda tutti i file contenuti nella cartella corrente e li smisti in base al loro tipo
  32. 32. Copi o sposti i file durante lo smistamento in base all'opzione scelta in fase di lancio
  33. 33. Permetta di scegliere la directory dove copiare/spostare i file </li></ul></ul>
  34. 34. file_organizer.sh
  35. 35. dir_analyzer.sh <ul><li>Si vuole realizzare uno script che: </li><ul><li>Mostri l'occupazione totale in byte della cartella corrente
  36. 36. Mostri l'occupazione percentuale delle cartelle e file contenuti nella cartella corrente </li></ul><li>Ad esempio: </li></ul>$ ./dir_analyzer.sh /home/alberto/Scrivania/Giulia/Dvd/ Total size: 1 GByte 48,3% /home/alberto/Scrivania/Giulia/Dvd/BattesimoGiulia 43,3% /home/alberto/Scrivania/Giulia/Dvd/Extra 8,4% /home/alberto/Scrivania/Giulia/Dvd/Ritocchi
  37. 37. dir_analyzer.sh
  38. 38. GRAZIE PER L'ATTENZIONE GalLUG – Gruppo Utenti Linux Galliate www.gallug.it - [email_address] - 0321 806832 Alberto Pollastro, albertux@gallug.it

×