Problema con v.db.update

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Problema con v.db.update

Mauro Mosso
Salve a tutti,
è da un po' di tempo che grazie ad alcune persone ho iniziato ad usare GRASS e qgis arrivando a fare cose impensabili.

Ora mi trovo ad affrontare un problema di update di tabella associata da fare tramite script in bash.

Il problema è il seguente:

Se da shell di GRASS scrivo:
 v.db.update v_327_b col=nome val="paperino e pippo" mi fa l'update tranquillamente.

Se passo da script in bash scritto così:

cop111="paperino e pippo"
echo $cop111
v.db.update v_327_b col=nome val=$cop111

non funziona.

Perchè secondo voi e come posso risolvere senza riscrivere tutto in python (ammesso che il problema non si ripresenti)????

Grazie a tutti. Mauro
--
------
Mauro MOSSO - Consulenze faunistiche, ambientali e zootecniche
Via Inserra, 18 - 14020 CERRETO D'ASTI (AT)
Cell. +39 339 7944830      [hidden email]
------

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
Reply | Threaded
Open this post in threaded view
|

Re: Problema con v.db.update

Andrea Antonello
[...]

> Il problema è il seguente:
>
> Se da shell di GRASS scrivo:
>  v.db.update v_327_b col=nome val="paperino e pippo" mi fa l'update
> tranquillamente.
>
> Se passo da script in bash scritto così:
>
> cop111="paperino e pippo"
> echo $cop111
> v.db.update v_327_b col=nome val=$cop111
>
> non funziona.

Che errore ti da?

Se la sintassi richiede il quoting, magari prova con val="$cop111", ma
mi sembra ben strano.


Andrea


>
> Perchè secondo voi e come posso risolvere senza riscrivere tutto in python
> (ammesso che il problema non si ripresenti)????
>
> Grazie a tutti. Mauro
> --
> ------
> Mauro MOSSO - Consulenze faunistiche, ambientali e zootecniche
> Via Inserra, 18 - 14020 CERRETO D'ASTI (AT)
> Cell. +39 339 7944830      [hidden email]
> ------
>
> _______________________________________________
> Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
> [hidden email]
> http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
>
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
Reply | Threaded
Open this post in threaded view
|

Re: Problema con v.db.update

Markus Neteler
2009/10/3 andrea antonello <[hidden email]>:

> Mauro:
> [...]
>> Il problema è il seguente:
>>
>> Se da shell di GRASS scrivo:
>>  v.db.update v_327_b col=nome val="paperino e pippo" mi fa l'update
>> tranquillamente.
>>
>> Se passo da script in bash scritto così:
>>
>> cop111="paperino e pippo"
>> echo $cop111
>> v.db.update v_327_b col=nome val=$cop111
>>
>> non funziona.
>
> Che errore ti da?
>
> Se la sintassi richiede il quoting, magari prova con val="$cop111", ma
> mi sembra ben strano.

Niente strano... il separatore in shell è lo spazio, allora
il quoting (double " per variable expansion) è necessario e
inevitabile. Senza "..." ti prendo solo paperino e ti interpreta
il resto come altri parametri finendo in un errore. Allora,
funziona come dice Andrea.

ciao
Markus
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
Reply | Threaded
Open this post in threaded view
|

Fwd: Problema con v.db.update

Mauro Mosso
In reply to this post by Andrea Antonello
Il giorno 03 ottobre 2009 10.37, andrea antonello <[hidden email]> ha scritto:

[...]
> Il problema è il seguente:
>
> Se da shell di GRASS scrivo:
>  v.db.update v_327_b col=nome val="paperino e pippo" mi fa l'update
> tranquillamente.
>
> Se passo da script in bash scritto così:
>
> cop111="paperino e pippo"
> echo $cop111
> v.db.update v_327_b col=nome val=$cop111
>
> non funziona.

Che errore ti da?

OPS scusa!
L'errore è ... ERA il seguente:

paperino e pippo
Sorry <e> is not a valid option
Sorry <pippo> is not a valid option
 

Se la sintassi richiede il quoting, magari prova con val="$cop111", ma
mi sembra ben strano.

GRANDE, non si finisce mai di imparare, il problema era proprio il quoting, (era sembrato anche a me), ma non sapevo come risolvere.

Grazie mille.

Mauro
 

 
 
------
Mauro MOSSO - Consulenze faunistiche, ambientali e zootecniche
Via Inserra, 18 - 14020 CERRETO D'ASTI (AT)
Cell. +39 339 7944830      [hidden email]
------

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.