* Antonio Macchi <[email protected]> [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) ] -- Per REVOCARE l'iscrizione alla lista, inviare un email a [email protected] con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a [email protected] To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

