[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: aiutino bash script



Il giorno gio, 24/05/2012 alle 09.51 +0200, Piviul ha scritto:
> Giuseppe Sacco scrisse in data 24/05/2012 09:23:
> > Puoi usare $*. 
> è incredibilmente davvero difficile spiegarsi... non sono alla ricerca
> di un workaround. La funzione che vorrei chiamare da uno script accetta
[...]

Per quanto io ne sappia non puoi ricostruire gli argomenti una volta che
metti tutto in una stringa (cmd) a meno che non utilizzi «eval». Ad
esempio:

#!/bin/dash
myfunc()
{
     tutti="$*"
     echo $tutti
}

myfuncB()
{
     echo $1
}

echo Tramite stringa
cmd="myfunc param1 param2 param3"
$cmd

echo Senza stringa
myfuncB "par- -am1" param2
echo Tramite stringa con eval
cmd="myfuncB \"par- -am1\" param2"
eval $cmd

In questo caso, nella seconda e terza invocazione, tutto funziona come
vorresti. Giusto?

Ciao,
G.


Reply to: