[GRASS-Italia] problemi scripts

G. Allegri giohappy a gmail.com
Lun 27 Ago 2007 14:28:46 CEST


Per quanto riguarda il primo script, hai provato ad usare gli apici
nell'assegnazione delle variabili...?
Per il secondo script, se non ho capito male, ti basterebbe un "case
statement" del tipo:

#!/bin/bash
case $1 in
    -a)      bloccoA()    ;;
    -b)     bloccoB()    ;;
    #e così via per le altre opzioni...
esac

function bloccoA(){
#(BLOCCO DIREZIONE A)
echo "UPDATE ita076nw_nl_rs_mp_copy SET c_avanti=-1 WHERE
ROUTENUM='SS658'" | db.execute
}

function bloccoB(){
#(BLOCCO DIREZIONE B)
echo "UPDATE ita076nw_nl_rs_mp_copy SET c_indietro=-1 WHERE
ROUTENUM='SS658'" | db.execute
}

ecc...

con $1 il primo argomento passato al tuo script...

Giovanni

Il 27/08/07, gis.gn <gis.gn a libero.it> ha scritto:
>
> Salve a tutti.
> ho un paio di problemi.
>
> 1)Ho trovato in rete (gfosservices) uno script per la realizzazione dei
> metadati dei files vettoriali.
> Il problema è che lo script non va ma, essendo inesperto, non riesco a
> capire dove sia il problema; riporto lo script e gli errori conseguenti
> nella shell.
> lo script è:
>
> ###########################################################################################################
>
> #SI INSERISCE LA MAPPA VETTORIALE DI CUI SI VOGLIONO OTTENERE LE INFO
>
> echo "DI QUALE CARTOGRAFIA VUOI AVERE IL METADATO??"
>
> echo "Vettoriale=";read vettoriale
>
> #si inseriscono i dati dell'autore della mappa, della data di creazione
> del metadato etc..etc..
>
> #e si creano dei file cuscinetto per formare il file di metadato finale
>
> echo "AUTORE?=";read autore
>
> echo "AUTORE=$autore" > autore
>
> echo "DATA?=";read data
>
> echo "DATA=$data" > data
>
> echo "Con quale nome vuoi salvare il file dei metadati??....";read
> salva_nome
>
> echo "File Vettoriale= $vettoriale" > file_vettoriale
>
> echo "**********INFORMAZIONI SUL DATABASE**********" > info_db
>
> echo "**********HISTORY FILE VETTORIALE**********" > history_vett
>
> echo "**********REGIONE DELLO ZOOM**********" > reg_zoom
>
> #
>
> v.info map=$vettoriale layer=1 -c > database
> #
>
> v.info map=$vettoriale layer=1 -h > informazioni
>
> #
>
> g.region -p > gregion
>
> cat autore data file_vettoriale info_db database  history_vett
> informazioni  reg_zoom gregion > $salva_nome
>
> #
>
> #rimozione dei file di testo semplici creati come appoggio
>
> rm autore data file_vettoriale info_db history_vett reg_zoom database
> informazioni gregion
>
> oowriter $salva_nome
>
> #fine
>
> e gli errori sono:
>
> DI QUALE CARTOGRAFIA VUOI AVERE IL METADATO??
> Vettoriale=
> costa_intgis
> ': not a valid identifier 26: read: `vettoriale
> AUTORE?=
> gab
> ': not a valid identifier 30: read: `autore
> DATA?=
> 26/08/2007
> ': not a valid identifier 32: read: `
> Con quale nome vuoi salvare il file dei metadati??....
> prova
> ': not a valid identifier 34: read: `salva_nome
> ERROR: Could not find input map <>
> ERROR: Could not find input map <>
> cat: data: No such file or directory
> cat: file_vettoriale: No such file or directory
> cat: info_db: No such file or directory
> cat: database: No such file or directory
> cat: history_vett: No such file or directory
> cat: informazioni: No such file or directory
> cat: reg_zoom: No such file or directory
> cat: gregion: No such file or directory
> rm: cannot remove `data': No such file or directory
> rm: cannot remove `file_vettoriale': No such file or directory
> rm: cannot remove `info_db': No such file or directory
> rm: cannot remove `history_vett': No such file or directory
> rm: cannot remove `reg_zoom': No such file or directory
> rm: cannot remove `database': No such file or directory
> rm: cannot remove `informazioni': No such file or directory
>
> Potrebbe essere un problema di dichiariazione delle variabili ? (ad es.
> forse devo prima in qualche modo dichiarare la variabile "vettoriale")
>
> 2) vorrei rendere dinamico un piccolo script da utilizzare per l'analisi
> di rete. lo script è:
> #!/bin/bash
>
> #(BLOCCO DIREZIONE A)
> echo "UPDATE ita076nw_nl_rs_mp_copy SET c_avanti=-1 WHERE
> ROUTENUM='SS658'" | db.execute
>
> #(BLOCCO DIREZIONE B)
> echo "UPDATE ita076nw_nl_rs_mp_copy SET c_indietro=-1 WHERE
> ROUTENUM='SS658'" | db.execute
>
> #BLOCCO ENTRAMBE LE DIREZIONI
> echo "UPDATE ita076nw_nl_rs_mp_copy SET c_avanti=-1 WHERE
> ROUTENUM='SS658'" | db.execute
> echo "UPDATE ita076nw_nl_rs_mp_copy SET c_indietro=-1 WHERE
> ROUTENUM='SS658'" | db.execute
>
> #per ripristinare e dare gli attributi della colonna METERS (ma solo
> quelli corrispondenti al dato 'SS658' della colonna ROUTENUM) alla colonna
> c_avanti e c_indietro:
> echo "UPDATE ita076nw_nl_rs_mp_copy SET c_avanti=METERS WHERE
> ROUTENUM='SS658'" | db.execute
> echo "UPDATE ita076nw_nl_rs_mp_copy SET c_indietro=METERS WHERE
> ROUTENUM='SS658'" | db.execute
>
> Spiegandomi meglio, vorrei poter scegliere quando lancio lo script se
> bloccare la percorrenza in direzione A, oppure B, o entrambe ecc.
>
> Grazie mille
> Gabriele
>
> _______________________________________________
> GRASS-Italia mailing list
> GRASS-Italia a listserv.unipr.it
> http://listserv.unipr.it/mailman/listinfo/grass-italia
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://listserv.unipr.it/pipermail/grass-italia/attachments/20070827/a6003338/attachment.html 


Maggiori informazioni sulla lista GRASS-Italia