On Tuesday 04 December 2007 11:14, Homer S. wrote: > > [EMAIL PROTECTED]:~$ pippo="echo hello world" > > [EMAIL PROTECTED]:~$ $pippo > > hello world > > Non funziona sempre; es.: > > localhost> PIPPO="ls -l > prova.log" > localhost> $PIPPO > ls: >: No such file or directory > ls: prova.log: No such file or directory > > credo dipenda dal tipo dei comandi e dal numero di argomenti. Io sto > cercando una chiamata che funzioni sempre, indipendentemente da essi.
Il problema è la redirezione dell'output. Quando la shell esegue il parsing per interpretare le linee di comando essa riconosce ed espande le varie parti in un ordine ben preciso. Il riconoscimento delle varie redirezioni viene effettuato in una fase precedente all'espansione delle variabili, sicché, quando arriva ad espandere $PIPPO, il carattere ">" non ha più il significato che ci si aspetterebbe. Esempio: $ export PROVA="> prova.tmp" $ echo ciao $PROVA ciao > prova.tmp $ ls prova.tmp ls: prova.tmp: No such file or directory $ Nella sezione "EXPANSION" del manuale di Bash trovi maggiori informazioni circa l'ordine citato. Cordiali saluti. alfredo

