[Gfoss] Problema con v.db.update

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 mauro.mosso@gmail.com

[...]

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 mauro.mosso@gmail.com
------

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@faunalia.it
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.

2009/10/3 andrea antonello <andrea.antonello@gmail.com>:

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

Il giorno 03 ottobre 2009 10.37, andrea antonello <andrea.antonello@gmail.com> 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 is not a valid option
Sorry 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 mauro.mosso@gmail.com