Molti sottovalutano la potenza della linea di comando, soprattutto quando si tratta di reiterare una sequenza di operazioni, che a farlo con il mouse si rischia seriamente una sindrome da tunnel Carpale…

Aldilà della possibilità di realizzare script ad hoc per ogni situazione (in proposito vi suggerisco l’ottima Advanced Bash Scripting Guide), magari da integrare con altri linguaggi di scripting (awk, perl, python…), BAsh ha una versatilità incredibile quando si tratta di accorpare in un’unica soluzione, più operazioni, mediante l’utilizzo di pipe o reindirizzamento dell’input/output standard.

La presenza poi della cosiddetta “history” permette di recuperare queste lunghe sequenze anche a distanza di tempo, senza perciò la necessità di dover ricordare o appuntare da qualche parte l’intera sequenza.

Navigare in questa history è abbastanza semplice… si possono usare le freccette (su e giù) per scorrere avanti ed indietro, oppure cercare un comando specifico premendo <CTRL + r>, ecc ecc

Un limite piuttosto grosso, tuttavia, è legato al comportamento standard di non “catturare” nella history del terminale attualmente in uso, i comandi digitati su un altro terminale. Questo porta ad una estrema frammentarietà della funzione di history, e ne limita, a mio avviso, enormemente le potenzialità.

Esiste però un accorgimento (documentato per altro nella sconfinata guida di BAsh), che permette di ovviare a tale situazione! Si tratta di editare il file

gedit ~/.bashrc

ed aggiungere le seguenti linee:

shopt -s histappend

PROMPT_COMMAND=’history -a’

che permetteranno l’append incrociato di comandi all’history della shell, tra i vari terminali aperti. Ovviamente per abilitarro dovrete riloggarvi in ciascun terminale aperto oppure fare il source.

Un’altra interessante funzione è una sorta di “correttore automatico” molto simile alla funzione di autocompletamente (tasto TAB), che ci viene in aiuto quando “navighiamo” per le cartelle. L’opzione da aggiungere, sempre al medesimo file, stavolta è:

shopt -s cdspell

Continuando a parlare di hsitory, personalmente trovo molto noioso, nello scorrere la lista dei comandi, le continue ripetizioni di comandi spesso semplici e banali, quali i cambi directory o i vari copy e move. Per eliminare le ripetizioni, basta un bel:

export HISTIGNORE=”&:ls:[bf]g:exit”

Questi ed altri trucchi li potete trovare nel manuale di BAsh.

fonte: TuxJournal

Post to Twitter Post to Facebook

2 Responses to “BAsh e dintorni…”

Leave a Reply

3 visitors online now
3 guests, 0 members
Max visitors today: 7 at 08:53 am UTC
This month: 18 at 09-03-2010 03:08 am UTC
This year: 28 at 02-13-2010 05:12 am UTC
All time: 28 at 02-13-2010 05:12 am UTC