Re: Nuova curiosita` su verifica input in script [con extglob]
* Antonio Macchi <antonio_macchi@alice.it> [140209, 06:44]:
>> [...]
Penso di aver capito come utilizzare 'eval' e sono quasi arrivato a
raggiungere l'obiettivo che mi ero proposto. C'e` pero` ancora un
piccolo punto che non so se si puo` e come risolvere, ovvero il controllo del
numero delle variabili.
Per spiegarmi meglio e` necessario che posti una parte del codice:
----------
....
while [ "$n" -le "$_mnum" ]; do
echo Input $n^ campo da modificare totalmente:; read _mcmp
echo Input nuovo valore di "$_mcmp"; read _mnv
_mnv2=`echo "$_mnv" | sed s/\'/\\\\\\\\\'/g` # si salvano gli eventuali apici
eval c$n=$_mcmp
eval v$n=$_mnv2
(( n += 1 ))
echo $c1 $v1 $c2 $v2
done
psql mydb -c "update $_tab set $c1='$v1', $c2='$v2' where $_nrf='$_nrv';"
psql mydb -c "select * from pro_mod where n_prog=588;"
....
----------
Questo funziona perfettamente se si sa in anticipo quanti campi verranno
modificati; in realta`, tuttavia, vorrei che tale numero fosse
variabile, ma non riesco poi a controllarne il valore. In altre
parole, _$c1_ ritorna il valore corretto, _$c$n_ (ove n e` una variabile
inserita in un ciclo _for_) mi ritorna solo il valore di $n!
Sbaglio ancora qualcosa oppure e` impossibile fare cio` che vorrei?
(E se fosse possibile inserire un nuovo ciclo di eval sulle
precedenti...? Ora verifico...)
Grazie della tua pazienza ;-)
--
[Perche' usare Win$ozz (dico io) se ..."anche uno sciocco sa farlo. \\?//
Fa' qualche cosa di cui non sei capace!" (diceva Henry Miller) ] (°|°)
[Why use Win$ozz (I say) if ... "even a fool can do that. )=(
Do something you aren't good at!" (as Henry Miller used to say) ]
Reply to: