volevo eseguire un semplice script da una comoda interfaccia grafica... tale script dovrebbe eseguire la conversione dei file presenti in una directory (in formato .csv) in un'altro formato (compatibile per i navigatori tomtom .ov2) sfruttando il programma gpsbabel (richiesto per il funzionamento).
se eseguo lo script dopo averlo reso eseguibile esso funziona perfettamente ma se provo ad avviarlo da gambas mi dà il seguente messaggio: "ls: impossibile accedere a *.csv: Nessun file o directory"
le righe di codice che sto provando ad usare sono le seguenti:
PUBLIC SUB Button1_Click()
IF NOT Exist(DirView1.Current & "/csv2ov2") THEN
COPY user.home & "/.poiconvert/csv2ov2" TO DirView1.Current & "/csv2ov2"
'copio il file nella cartella di destinazione come richiesto dallo script
WAIT
ENDIF
SHELL "cd " & DirView1.Current 'sposto la shell nella cartella richiesta dallo script
SHELL "chmod +x " & DirView1.Current & "/csv2ov2" 'rendo eseguibile lo script
'SHELL "dir " & DirView1.Current 'prova per vedere se la shell punta a quella directory
SHELL DirView1.Current & "/csv2ov2" ' eseguo lo script
'WAIT
FileView1.Refresh 'aggiorno le liste dei file
FileView2.Refresh
'codice dove elimino il file creato per la conversione
END
e questo è il contenuto dello script incriminato:
#!/bin/bash
## csv2ov2
## traduzione files punti di interesse da formato csv a formato ov2 per tomtom
## i files da tradurre devono essere nella cartella di questo script
## i files ov2 saranno creati nella medesima cartella
## bop
echo > temp1
echo >> temp1
echo >> temp1
echo >> temp1 # creo un file con 4 righe vuote
for file in `ls *.csv ` ; do # per ogni elemento della directory corrente ...
a=${#file} # lunghezza nome file
let 'b = a - 4' # calcola lunghezza nome file senza estensione
noext=${file:0:b} # estrae nome file senza estensione
echo sto processando $noext
cat temp1 $file > temp2 # aggiunge le 4 righe in testa al file (necessario a gpsbabel)
gpsbabel -i tomtom_asc -f temp2 -o tomtom -F $noext.ov2 # trasforma in formato per tomtom
done
rm -f temp1 temp2 # elimina files temporanei
## eop
dove sbaglio?
grazie di cuore a tutti...