285
Alex Martelli
osx, Terminal e sottosistema BSD
http://faqintosh.com/faq/285.xml - XML della Faq: http://faqintosh.com/faq/285-data.xml
5454 giorni, 5 ore, 31 minuti
Faq 178 - Come ottimizzare la shell tcsh in Mac OS X?
Faq 255 - Come posso potenziare Bash?
La risposta è "sì". Nel caso frequente in cui si vogliano semplicemente "accodare" parametri passati quando si usa l'alias ad altri parametri passati quando lo si definisce, non c'è da fare nulla di speciale. In tcsh:
% alias dimmi echo
% dimmi ciao
ciao
%
e similmente in bash:
$ alias dimmi=echo
$ dimmi ciao
ciao
$
Quando si vuole una gestione più avanzata dei parametri, si può fare anche questo. I modi per farlo sono due (a seconda della shell che si usa, tcsh o bash).
Con tcsh si possono usare anche per questo gli alias, mettendo nella definizione dell'alias parametri della forma "!:n" per l'n-esimo parametro, con il "!" che va quotato (tipicamente con un back-slash) quando viene definito l'alias:
% alias ripeti 'echo \!:1 \!:1'
% ripeti ciao
ciao ciao
%
In bash invece vanno definite delle funzioni al posto degli alias. Le funzioni sono più versatili; oltre ad accettare parametri possono chiamarsi ricorsivamente, e possono contenere anche variabili localmente dichiarate (con il comando bash "local"). Comunque, ecco un esempio analogo al precedente:
$ function ripeti { echo $1 $1; }
$ ripeti ciao
ciao ciao
$
Per ulteriori informazioni, e per qualunque uso più avanzato, si rimanda ovviamente alle pagine di man delle rispettive shell.
Google+ | |
---|---|
|
|