#!/bin/bash ed esempi di scripting
Post on 16-Apr-2017
14.977 Views
Preview:
TRANSCRIPT
Presentazione Linux Day 2009
#!/bin/bash
Alberto Pollastro
La shell
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:Bash (Bourn Again Shell)
CSH (C Shell)
KSH (Korn Shell)
Per visualizzare le shell disponibili sul proprio sistema:cat /etc/shells
Per visualizzare la shell in uso:echo $SHELL
Bash
Bash (Bourne Again Shell)
Deriva dalla Bourne Shell, da cui il nome Bash
La prima versione stata rilasciata nel 1987
Ad oggi la shell pi usata nei sistemi GNU/Linux
E' anche la shell di default per Mac OS X
Esegue i comandi letti da standard input (tastiera) o da file
Offre una sintassi ricca che permette di eseguire sequenze di comandi articolate, tecnicamente chiamati bash script
Script vs. Eseguibile (1)
Uno script un programma interpretato:E' un file testuale che contiene un elenco di comandi
Il file viene interpretato da un interprete e tradotto in linguaggio macchina ogni volta che viene eseguito
Un eseguibile un programma compilato:E' un file binario che contiene le istruzioni macchina
Il file viene generato compilando il codice sorgente del programma
L'esecuzione degli eseguibili pi veloce di quella degli script
L'uso degli script pi flessibile e immediato rispetto agli eseguibili
Script vs. Eseguibile (2)
Alcuni esempi di linguaggi interpretati:Perl
Python
Lua
Alcuni esempi di linguaggi compilati:C/C++
C#
Visual Basic
Bash Scripting
Il linguaggio della shell Bash permette di creare script
Perch imparare ad utilizzare gli script Bash?Si possono automatizzare compiti complessi e ripetitivi
I sistemi GNU/Linux hanno moltissimi comandi testuali
Le procedure di avvio del sistema operativo sono gestite da degli script Bash
Nei sistemi GNU/Linux, quasi tutti i dispositivi sono rappresentati da file e con gli script Bash molto facile interagire con i file
Impareremo ad utilizzare lo scripting bash con due esempi pratici:dir_analyzer.sh
file_organizer.sh
file_organizer.sh
Si vuole realizzare uno script che:Prenda tutti i file contenuti nella cartella corrente e li smisti in base al loro tipo
Copi o sposti i file durante lo smistamento in base all'opzione scelta in fase di lancio
Permetta di scegliere la directory dove copiare/spostare i file
file_organizer.sh
dir_analyzer.sh
Si vuole realizzare uno script che:Mostri l'occupazione totale in byte della cartella corrente
Mostri l'occupazione percentuale delle cartelle e file contenuti nella cartella corrente
Ad esempio:
$ ./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
dir_analyzer.sh
GRAZIE PER L'ATTENZIONE
GalLUG Gruppo Utenti Linux Galliate
www.gallug.it - info@gallug.it - 0321 806832
Alberto Pollastro, albertux@gallug.it
Title
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level
Alberto Pollastro, !#/bin/bash
Novara, 2009-10-24
GalLUG - Gruppo Utenti Linux Galliate - www.gallug.it
top related