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?