#!/bin/bash ed esempi di scripting

download #!/bin/bash ed esempi di scripting

If you can't read please download the document

Transcript of #!/bin/bash ed esempi di scripting

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 - [email protected] - 0321 806832


Alberto Pollastro, [email protected]

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