Aggiunta di una nota alla Faq 285
Nome o nickname:
email (opzionale):
Testo della nota:
Testo antispam: (solo testo, niente spazi)

Nelle note non è possibile inserire HTML, che verrà automaticamente eliminato qualora presente.

Se occorre inserire una URL: incollarla come testo semplice, http://www… o ftp://…, verrà automaticamente riconosciuta come tale dal sistema.

www.faqintosh.com non è una chat, ma una collezione di risposte: evitate di inserire domande o richieste di aiuto, che saranno eliminate dagli editor delle FAQ.

Nuove FAQ, domande e correzioni vengono discusse nel Forum di faqintosh.


Antispam:

Posso personalizzare i miei comandi con degli alias che supportino parametri nel Terminale di OSX?

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.

[ Home | Elenco delle FAQ | Risorse | Feed RSS ]