28.05.2013 Views

LOA HackLab - Autistici

LOA HackLab - Autistici

LOA HackLab - Autistici

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Struttura modulare 47<br />

4.5 Una possibile alternativa: zsh<br />

Una shell particolarmente interessante sviluppata in tempi relativamente recenti è zsh.<br />

Alcune delle sue caratteristiche più impressionanti sono la sua ampliabilità attraverso una<br />

struttura modulare e la possibilià di modificare a piacere il comportamento dell’espansione<br />

della linea di comando, arrivando a completare persino le opzioni dei comandi!<br />

Espansione della linea di comando 4.5.1<br />

L’espansione della linea di comanda viene controllata con il comando compctl. La sintassi<br />

del comando è sostanzialmente questa:<br />

compctl [OPZIONI] COMANDO [ .. COMANDO ]<br />

COMANDO è un comando al quale applicare i criteri di espansione specificati con le OPZIONI.<br />

Vediamone alcune:<br />

Opzione Significato<br />

-k array Specifica un elenco di testi tra i quali scegliere per la completazione<br />

-K funzione Specifica di usare il risultato della funzione funzione per completare il<br />

comando<br />

-g globstring Specifica una stringa da espandere con i criteri di globbing della shell sui<br />

file presenti nella directory corrente<br />

-s string Specifica una stringa semplice di testo con la quale completare il<br />

comando<br />

Ad esempio:<br />

$ compctl -s "-9" gzip<br />

$<br />

imposta come espansione automatica la stinga -9 al comando gzip. Ora, dopo aver<br />

digitato gzip premendo una volta il tasto TAB si otterrà automaticamente la<br />

combinazione -9.<br />

Proviamo invece:<br />

$ compctl -k "(xzf tzf zf tf)" tar<br />

$<br />

Dopo aver scritto tar una pressione del TAB ci darà l’elenco completo di tutte queste<br />

quattro possibili espansioni. Alla seconda pressione verrà utilizzata la prima, alla terza la<br />

seconda e così via.<br />

Struttura modulare 4.5.2<br />

Un’altra eccitante 6 caratteristica di zsh è la struttura modulare con la quale è possibile<br />

espanderne le funzionalità.<br />

6<br />

Come dici? Mi perverto con poco?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!