Orvieto Linux User Group | Promozione software libero a Orvieto

Introduzione allo scripting in Bash

Nella pianificazione della guide e degli articoli utili per ogni utente Linux, noi del LUG, abbiamo ritenuto opportuno prestare attenzione sull’utilizzo della shell e l’utilità dello scripting bash. Ecco perché, in questa serie di articoli, presenteremo i vari comandi per l’aggiornamento del sistema, gestione del filesystem, gestione dei processi, automatizzeremo poi i comandi tramite gli script, analizzeremo quindi i fondamenti dello scripting, vedremo come eseguirli e molto altri ancora! Cosa è una shell bash? La bash è probabilmente l’interprete di comandi più diffuso in ambiente UNIX; è presente su tutte le versioni unix e su tutte le versioni open source Gnu/Linux, FreeBSD, NetBSD, OpenBSD, ecc. La shell Bash (il cui acronimo è “Bourne Again Shell”) nasce come evoluzione della “Bourne Shell” (sh) e rappresenta un sovra-insieme di comandi della Bourne Shell. Ma cosa è una shell? Una shell dei comandi del sistema operativo, sono dei comandi eseguiti da ciascun utente del sistema operativo o possono essere chiamati da altri programmi. La shell dei comandi è stata principalmente progettata per consentire l’interazione fra utente e sistema operativo. Nell’atto pratico è quindi un programma consistente in una finestra (chiamata anche terminale) che permette di interagire con il sistema operativo. Un esempio di terminale è il seguente: Il tipo di interazione fra sistema operativo e utente tramite shell viene chiamata modalità alfanumerica o in gergo “a linea di comando”. In alternativa ad una shell che opera in modalità alfanumerica l’interazione avviene tramite una interfaccia grafica chiamata GUI (Graphical User Interface) che consente all’utente di interagire con il sistema tramite delle componenti grafiche che contribuiscono a semplificarne e a velocizzarne l’utilizzo. Scripting bash La shell bash, oltre che un interprete di comandi è in realtà un vero e proprio linguaggio di programmazione che consente di creare dei programmi chiamati script. Lo scripting bash consiste quindi nella creazione di programmi per la shell bash: dall’automatizzazione di singoli comandi (perfino all’avvio del sistema) alla manipolazione del sistema stesso. Un piccolo script di esempio che aggiorna il sistema Ubuntu: Abbiamo quindi fatto un piccola introduzione concettuale su ciò di cui tratteremo. Nel prossimo articoli introdurremo la differenza fra bash (Bourne Again Shell) e sh (Bourne Shell) in termini di scripting, alcuni fondamenti dello scripting e come eseguire uno script. CONTATTI DELL’AUTORE Leonardo Picchiami leonardo@orvietolinux.it OrvietoLinux info@orvietolinux.it  

Scripting Bash #1 – Creazione ed esecutione di script

Dopo il primo articolo di introduzione generale, presentiamo una serie di articoli contenenti i rudimenti per un approccio con lo scripting bash. Per avere una visione di base generale, è necessario conoscere innanzitutto la differenza fra le varie tipologie di script, come creare ed eseguire uno script.     Script sh e script bash   Quando si parla di script, si parla di un particolare programma scritto in una classe di linguaggi di programmazione chiamati linguaggi di scripting. Dato questo insieme di script, ne analizzeremo un suo sottoinsieme: gli script di shell. Lo script di shell identifica uno script per una determinata shell di un sistema operativo, perciò non interpretabile (ed eseguibile) da altre shell di sistema simili.   La shell bash, esegue ed interpreta gli script bash: nome_file.bash. Riferendoci a ciò che è stato detto in precedenza, altri tipi di shell non possono quindi interpretare questo specifico script.   Esiste inoltre un altro tipo di script degno di nota, chiamato script sh: nome_file.sh. Lo script sh può essere eseguito su qualsiasi tipo di shell, sia shell bash sia shell non bash. (È importante a questo punto ricordarsi la distinzione presente nel precedente articolo fra “Bourne Again Shell” e “Bourne Shell”).     Creare ed eseguire uno script   Come primo passo, è essenziale capire come creare ed eseguire uno script in un determinato ambiente. Per creare uno script si può eseguire, da prompt, il comando:   Per eseguire uno script, in una shell bash, abbiamo quattro differenti modalità:   1. ./nome_file.estensione. Con l’esecuzione di questo comando viene invocata una sotto-shell che esegue uno dopo l’altro presente nello script in questione. Per utilizzare questa sintassi è necessario che il file script abbia i permessi di esecuzione (la maschera di creazione dei file di default non assegna i permessi di esecuzione). Per eseguire lo script tramite questa modalità, usualmente si eseguono i seguenti comandi:     2. bash nome_file.estensione. Anche in questo caso, viene invocata una sotto-shell che esegue sequenzialmente i comandi presenti nello script:   3. source nome_file.estensione. Con questo comando, al contrario, non viene creata una sotto-shell ma l’esecuzione avviene nella shell corrente:   4. nome_file.estensione. Anche in questo caso, come nel precedente, non viene creata una sotto-shell ma lo script viene eseguito nella shell corrente: La puntualizzazione fra le modalità che eseguono lo script nella shell corrente o in una sotto-shell è fondamentale per l’utilizzo delle proprietà locali, come ad esempio variabili locali o funzioni, di una determinata shell nello script, ma approfondiremo tutto nei prossimi articoli.   In questo secondo articolo, abbiamo prolungato la parte introduttiva con una piccola digressione sullo scripting, sulla creazione e sulle varie esecuzioni di uno script. Nel prossimo articolo introdurremo il concetto di shabang spiegando la sua importanza e il concetto di comando con la sua sintassi. CONTATTI DELL’AUTORE Leonardo Picchiami leonardo@orvietolinux.it OrvietoLinux info@orvietolinux.it

Scripting Bash #2 – Shabang e comandi

Continuando ad affrontare rudimenti e concetti di base per approcciare allo scripting bash, è necessario soffermarsi su due concetti fondamentali: lo shabang e il comando con la sua appropriata sintassi. Shabang   Lo shabang è una sequenza di caratteri iniziante con #! collocato esattamente all’inizio dello script per indicare al sistema quale interprete utilizzare per l’esecuzione. Precisamente, consiste in un magic number (una stringa di testo utilizzata per delle finalità specifiche) seguito dal pathname assoluto dell’interprete da utilizzare.   L’assenza dello shabang in uno script può portare spesso ad una esecuzione non corretta da parte del sistema. Questa casistica è ancora più frequente se nel file rappresentante lo script viene omessa l’estensione.

Eclipse PDT PHP Development Tools 2.2

Introduzione   PHP Development Tools (PDT) è un progetto open source basato su Eclipse (guidato da  Zend) che dispone di tutte le funzioni di base per iniziare a sviluppare applicazoni PHP. Preparativi È necessario aver installato una versione aggiornata di Eclipse sul sistema. Potete fare riferimento alla relativa guida. Installazione di PHP Development Tools 2.2 Avviare Eclipse digitando in un terminale: $ eclipse Scegliere il workspace ed attendere l’avvio del programma. Aprire Window->Preferences->Install/Update->Available Software Sites – Fare click su «Add…» ed aggiungere nel campo «Name:» DLTK 2.0 e nel campo «Location:» http://download.eclipse.org/technology/dltk/updates-dev/2.0/  e confermare con «OK» – Fare click nuovamente su «Add…» ed aggiungere nel campo «Name:» PDT 2.2 e nel campo «Location:» http://download.eclipse.org/tools/pdt/updates/2.2/interim/ e confermare con «OK». Aprire Help->Install New Software. Selezionare il sito di update PDT 2.2. Quando la lista delle features esistenti è popolata selezionare PHP Development Tools (PDT) Runtime Feature e dare via all’installazione con il pulsante «Next». A questo punto non resta che seguire la procedura guidata ed attendere il termine dell’installazione. Riavviare Eclipse e in Window -> Open Prospective -> Other selezionare PHP e confermare con «OK».   NB.: Il simbolo # che precede alcuni comandi indica che il comando relativo deve essere eseguito come utente root (con Ubuntu utilizzando il comando sudo), mentre il simbolo $ indica che il comando venga eseguito come utente normale.  

Installazione di Eclipse 3.5 e successivi

Introduzione   Eclipse è un progetto opensource legato alla creazione e allo sviluppo di una piattaforma di sviluppo ideata dalla Eclipse Foundation, associazione non profit che attualmente si occupa di portare avanti il progetto. Pur essendo  orientato allo sviluppo del progetto stesso, risulta essere un IDE completo per Java e, grazie all’ampia disponibilita di plugin aggiuntivi, una valido strumento per sviluppare in C++ e PHP. Il programma è completamente scritto in Java e la GUI si appoggia completamente al toolkit grafico SWT (Standard Widget Toolkit).  Installazione di Eclipse 3.5 e successivi La versione di Eclipse presente nei Repository non è la più aggiornata, e se si vogliono utilizzare alcuni plugin per il debugging e lo sviluppo questo può essere un ostacolo. Si può ovviare al problema semplicemente scaricando e installando il pacchetto presente in questa pagina. Una volta scaricato il file (di estensione tar.gz) nella propria cartella home (~/) si procederà all’installazione del programma all’interno della directory /opt/eclipse, in modo tale da renderlo disponibile a tutti gli utenti del sistema. Ecco come procedere: Rimuovere la precedente versione di Eclipse eseguendo in un terminale : # apt-get remove –purge eclipse eclipse-platform eclipse-source eclipse-nls eclipse-cdt# apt-get autoremove –purge Aprire un terminale e digitare il seguente comando per creare la cartella /opt (ovviamente solo se non esiste): # mkdir /opt Spostare il file scaricato nella directory /opt: # mv [FILE_SCARICATO].tar.gz /opt Spostarsi nella directory /opt: $ cd /opt Scompattare il file con il seguente comando: # tar -xvf [FILE_SCARICATO].tar.gz Creare un collegamento alla cartella /usr/bin: # ln -s /opt/eclipse/eclipse /usr/bin/ L’installazione è stata completata. Per avviare Eclipse è sufficiente dare il seguente comando: $ eclipse Se ci dovessero essere problemi per l’avvio come utente normale ma tutto dovesse funzionare correttamente come utente root impostare i permessi idonei alla cartella /opt/eclipse con: # chmod “permessi opportuni” -R /opt/eclipse    Traduzione in italiano Per la traduzione di  Eclipse lingua italiana basta scaricare il Language Packs direttamente dalla sezione download del sito del progetto Babel dove potete trovare tutte le lingue disponibili per Eclipse.   NB.: Il simbolo # che precede alcuni comandi indica che il comando relativo deve essere eseguito come utente root (con Ubuntu utilizzando il comando sudo), mentre il simbolo $ indica che il comando venga eseguito come utente normale.

Estendere Eclipse con PHPEclipse

Introduzione PHPEclipse è un progetto open source che permette di estendere le funzionalità di Eclipse allo sviluppo web in php. Preparativi È necessario aver installato Java Virtual Machine sul sistema. Installazione del plugin PHPEclipse in Eclipse 3.2 Per abilitare il supporto PHPEclipse in Eclipse 3.2 è necessario installare i pacchetti eclipse-platform e eclipse-source su Linux. Installazione del plugin PHP-Eclipse 1.1.x Avviare Eclipse digitando in un terminale: $ eclipse Scegliere il workspace ed attendere l’avvio del programma. Selezionare Guida->Aggiornamenti software->Trova e installa…. Nella finestra che si aprire selezionare Ricerca nuove funzioni da installare e selezionare «Avanti». Scegliere Nuovo sito remoto e nella sezione Nome scrivere PHPeclipse official releases‘ mentre in URL l’indirizzo http://phpeclipse.sourceforge.net/update/stable/1.1.x/ Confermare con «OK» e selezionare «Fine». A questo punto non resta che seguire la procedura guidata ed attendere il termine dell’installazione. Riavviare Eclipse e in Finestra -> Apri prospettiva -> Altro selezionare PHP e confermare con «OK». Gestione dei componenti di sistema Eclipse integra al suo interno un sistema di gestione degli aggiornamenti, per ricevere le nuove versioni dei componenti e dei plugin installati. Per ricevere gli aggiornamenti e renderli disponibili a tutti gli utenti del sistema è necessario avviare Eclipse con i privilegi di amministrazione all’interno di un terminale. Dopo aver inserito la password d’amministrazione del sistema, procedere come segue: Selezionare Help -> Software Updates -> Find and Install…. per avviare il gestore degli aggiornamenti. Scegliere l’opzione desiderata: «Search for updates of the currently installed features» Controlla la presenza di aggiornamenti per i componenti di programma e plugins aggiuntivi installati. «Search for new features to install» Cerca e restituisce la lista di componenti e plugins disponibili per l’installazione corrente. Scegliere il mirror più vicino ed aggiornare il tutto. Configurazione di Eclipse 3.3 e successivi Configurazione del plugin PHP-Eclipse 1.2.x Avviare Eclipse digitando in un terminale: $ eclipse Scegliere il workspace ed attendere l’avvio del programma. Selezionare Help->Software Updates. Nella finestra che si aprire selezionare Available Software e selezionare «Add Site». Inserire in URL l’indirizzo http://phpeclipse.sourceforge.net/update/stable/1.2.x/ e confermare con «OK» Cliccare con il tasto destro del mouse su http://phpeclipse.sourceforge.net/update/stable/1.2.x/ che troverete subito sotto a Ganymede e selezionare Install. A questo punto non resta che seguire la procedura guidata ed attendere il termine dell’installazione. Riavviare Eclipse e in Window -> Open Prospective -> Other selezionare PHP e confermare con «OK».   NB.: Il simbolo # che precede alcuni comandi indica che il comando relativo deve essere eseguito come utente root (con Ubuntu utilizzando il comando sudo), mentre il simbolo $ indica che il comando venga eseguito come utente normale.