Experimentalia

Appunti raminghi

Archive for the ‘bash’ Category

Bash: a spasso tra le directory.

with 2 comments

La mia home directory è piena zeppa di cartelle e sottocartelle, immagino anche la vostra, perchè preferisco perdere i miei file in una gerarchia ben ordinata di cartelle che mi dia l’illusione, almeno finché non li cerco, che sia facile ritrovare i dati che mi servono.

Per chi utilizza principalmente l’interfaccia grafica la cosa può anche funzionare per chi invece consuma la tastiera e risparmia il mouse spesso questa scelta significa digitare path chilometrici.

Non più. Directory dai nomi lunghi? Path complicati da digitare? $CDPATH è la soluzione a tutti i vostri problemi. Non previene la caduta dei capelli, questo no, ma vi permetterà di risparmiare qualche decina di migliaia di battiture all’anno. I polpastrelli delle vostre dita ve ne saranno grati e voi passerete più piacevolmente il vostro tempo alla tastiera.

Non c’è neanche bisogno di installare pacchetit esoterici, tutto quello che dovrete fare è aggiornale la configurazione di bash.

Leggi il seguito di questo post »

Written by Eineki

dicembre 28, 2008 at 3:57 am

Pubblicato su bash, linux

Tagged with , ,

Cavare una copertina da un file pdf

leave a comment »

Se anche non si riesce a cavare sangue da una rapa, sicuramente è possibile creare un file immagine che rappresenti la copertina di un libro in pdf. Avendo cominciato a segnalare ebook da scaricare gratuitamente e legalmente ho dovuto imparare a creare, o estrarre delle immagini dai loro pdf per creare le copertine che accompagnano i post.

Ci sono diversi sistemi per risolvere il problema e ne vedremo alcuni, da quelli più alla portata di tutti ad altri, più comodi ma che necessitano di un terminale, che sono ugualmente alla portata di chiunque, sempre che chiunque ne sia a conoscenza o che lo scopra per errore. 🙂

Leggi il seguito di questo post »

Written by Eineki

ottobre 12, 2008 at 1:38 am

Pubblicato su bash, linux, quick fix

Tagged with , , , ,

Libri da scaricare: Bash scripting avanzato

leave a comment »

Bash Scripting Avanzato

Bash Scripting Avanzato

Tutto quello che non avete mai osato chiedere sulla programmazione bash. Questo manuale, parliamo di più di ottocento pagine (nell’ultima versione in lingua originale), ha accompagnato spesso le mie nottate insonni, lo so che avrei potuto avere migliore compagnia, ma l’esame di Sistemi Operativi pretende questo ed altro.

A dispetto del titolo non c’è bisogno di alcuna esperienza pregressa, si parte dalle basi della programmazione shell, la programmazione tout court dovrete comunque padroneggiarla, per arrivare a sviscerate tutte le più recondite caratteristiche della bash.

E’ un’altro di quegli ebook da tenere sul desktop e da commentare pesantemente (in tutti i sensi), è un’utile reiferimento a cui attingere quando man bash non basta a risolvere il problema “che ronza nel vostro cervello come un insetto in una coppa di Champagne.”
Leggi il seguito di questo post »

Written by Eineki

settembre 20, 2008 at 0:15 am

Icone Funzionali

leave a comment »

Mettete il caso di dover convertire alcune immagini e di aver deciso di scrivere un post. Oggi vi appesterò con una storia breve sul problema di questa sera ma, siccome scrivere

convert -size 1024×768 *.jpg [1]

non sarebbe stato di grande aiuto, e neanche un gran post, ho pensato di parlare delle icone che stanno alla destra del mio desktop.

Le chiamo icone funzionali perché sono dei lanciatori (launcher) che fanno capo a piccoli programmi bash che mi aiutano in piccoli compiti.
Leggi il seguito di questo post »

Written by Eineki

settembre 12, 2008 at 2:22 am

Pubblicato su bash, gnome, linux

Tagged with , , ,

XMLstar: Manipolazione XML a linea di comando

leave a comment »

Oggi mi sono imbattuto in una utility interessante: XMLstarlet. Mi ha colpito perché permette di fare, con una discreta velocità, tutto quello che vi può venire in mente con i file xml.

In pratica si tratta di una interfaccia bash verso la libxml2. E’ possibile tra le altre cose, validare, trasformare, selezionare nodi, editare documenti (in batch) formattare e rendere in forma canonica dei documenti xml.

Interessante, ma poco più che una curiosità, il comando ls che rende in xml la directory corrente.

Altra particolarità è la possibilità che offre di passare da formato xml a formato pyx e viceversa. Si tratta di un formato comodo da manipolare con gli strumenti a linea di comando quali ad esempio grep, tail, head e sed che ha la stessa espressività di xml. Chi non ha familiarità con le trasformazioni con le query Xpath, e non volesse spendere tempo a colmare la lacuna, potrà utilizzare strumenti più congeniali per ottenere lo stesso risultato.

Prima di chiudere non mi resta che riportare un’altro link ad un altro rapido tutorial, vecchiotto ma molto valido, sul formato.

Un’ultima cosa: tra la documentazione segnalata troverete riferimento a due programmi xmln e xmlv che non sono altro che il convertitore xml->pyx ed il suo omologo pyx->xml.

Ed ora è davvero tutto.

Written by Eineki

agosto 25, 2008 at 0:33 am

Pubblicato su bash, linux, xml xsl xslt

Tagged with , , ,

Basta un click …

with 2 comments

… Una spruzzata di pseudo xml e qualche riga di bash per creare applicazioni grafiche.

Stavo pascolando per tutta internet per ingannare il caldo quando mi sono imbattuto in questo programma che, se pur con delle pecche di gioventù mostra buone potenzialità.

Se non volete pasticciare con zenity per dare un’interfaccia grafica ai vostri script bash troverete in BUC una alternativa, a mio parere non altrettanto valida ma sicuramente promettente.

La prospettiva è rovesciata. Se in zenity sono disponibili delle finestre predefinite per interagire con  l’utente, buc vi permette di definire un’interfaccia grafica associando ai controlli degli script bash, che possono anche interagire tra loro. Cuore del sistema sono dei particolari file di configurazione che sul sito ufficiale vengono definiti come file xml.

L’xml di questi file è a dir poco particolare, può, in alcuni casi essere malformato e non passare le verifiche di xmllint. Ho fatto qualche prova perché mi sono stupito quando un piccolo e banale script di hello world non ha prodotto alcun risultato se non una finestra vuota. E’ saltato fuori che avevo saltato un tag e quindi l’xml non poteva essere interpretato correttamente.

L’unico motivo che possa impedire una validazione formale dell’input sarebbe la necessità di dover interpretare file malformati e così ho potuto valutare: le redirezioni vengono interpretate da xmllint come entità e la validazione non va a buon fine. La soluzione di un simile problema potrebbe essere banale, basterebbe inserire gli script con le redirezioni in un elemento CDATA per poter affrontare la validazione. Il programma non lo fa, almeno per ora, anche se lo sforzo per poter inserire questa feature non dovrebbe essere particolarmente importante.

Un altro peccato veniale del progetto è una certa mancanza di coerenza tra i tag, alcuni hanno opzioni specificate come sottoelementi, mentre in altri la stessa opzione viene specificata, per me più naturalmente, come attributo del tag. Mi riferisco agli elemento title dei tag tab ed all’attributo title dell’elemento button.

Altra pecca, l’attributo filter del tag file che può essere multiplo e sarebbe stato espresso più naturalmente come una sequenza di sottoelementi.

A parte questi appunti, che non sono altro che questioni di lana caprina, il progetto è interessante ed è già usabile e ne consiglio il test e l’utilizzo. I ragazzi del Sicilinux stanno facendo un bel lavoro.

Qualche riferimento per approfondire:

Written by Eineki

agosto 14, 2008 at 13:16 pm

Pubblicato su bash, linux, recensioni

Tagged with , ,