Problema con il comando Shell e le variabili

Creare una macro - Scrivere uno script - Usare le API
Rispondi
antoniomacosx
Messaggi: 55
Iscritto il: giovedì 29 ottobre 2015, 8:24

Problema con il comando Shell e le variabili

Messaggio da antoniomacosx »

Volevo usare il comando Shell per eseguire una stringa di comando piuttosto articolata del terminale di OSX, mi sono creato una variabile stringa con l'intero comando per il terminale, la stringa e il risultato della concatenazione di più stringhe.
Per verifica ho fatto comparire la variabile a monitor con il comando msgbox, e la stringa risulta corretta, ma mi sembra che comunque il comando non viene lanciato.
per cercare di avere qualche riscontro ho aggiunto il maggiore (>) alla fine del mio comando per vere l'output del comando su un file, ma il file non viene scritto

qualcuno ha qualche idea?

Codice: Seleziona tutto

Sub at (oEvent as variant )
dim pippo2 as string
dim comando as string
dim file2 as string
dim file as string
dim file1 as string
dim pro as string

file=thisComponent.DrawPage.forms.Commessa.Documenti.getByName("percorso").currentValue
pro=thisComponent.DrawPage.forms.Commessa.Documenti.Protocollo.getByName("Protocollo").currentValue
file2=ConvertFromUrl( file )
file1="'" + file2 + "'"
file3=pro + " " + file1
comando=("/usr/bin/xattr -w com.apple.metadata:kMDItemFinderComment " + file3 + " >/Users/antoniomantica/prova" ) 
msgbox (comando)
shell (comando)



End Sub
Ultima modifica di charlie il venerdì 13 novembre 2015, 19:05, modificato 1 volta in totale.
Motivazione: Codificato codice macro
Antonio OpenOffice 4.1 su MacOS 10.11
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Problema con il comando Shell e le variabili

Messaggio da unlucky83 »

Uso corretto dell'istruzione Shell

Codice: Seleziona tutto

comando="/usr/bin/xattr"
param=" -w com.apple.metadata:kMDItemFinderComment " + file3 + " >/Users/antoniomantica/prova" 
Shell(comando,10,param)
Cioè i parametri devono essere separati dal comando per essere interpretati correttamente. Purtroppo non posso provare questo codice, provalo tu e fai sapere
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
antoniomacosx
Messaggi: 55
Iscritto il: giovedì 29 ottobre 2015, 8:24

Re: Problema con il comando Shell e le variabili

Messaggio da antoniomacosx »

Ho provato con il tuo suggerimento, ma non so perché funziona solo con i comandi meno complessi, esempio se utilizzo il comando say di OS X che serve a far pronunciare il testo usando questa questa espressione Shell ("say", 10 , "prova") il comando viene eseguito, per comandi più complessi non sono riuscito.
Ma ho aggirato il problema con un soluzione un po tortuosa, in pratica mi costruisco uno file di testo con lo script bash che contiene il comando ti terminale da eseguire.
Poi avvio lo script dal comando Shell in questo modo Shell (bash , 10 , nomefilescrpt) , il comando bash del terminale mi consente di avviare lo script senza dover assegnare allo script il permesso di esecuzione.
allego qui il mio codice, se qualcuno ha una soluzione meno complicata...

Codice: Seleziona tutto

ub Spotligt (oEvent as variant )
dim pippo2 as string
dim comando as string
dim file2 as string
dim file as string
dim file1 as string
dim pro as string
shell "bash  echo>/tmp/oo.sh"
i = FreeFile()
Open "/tmp/oo.sh" For Output As i
Print #i, "#! /bin/sh"
file=thisComponent.DrawPage.forms.Commessa.Documenti.getByName("percorso").currentValue
pro=thisComponent.DrawPage.forms.Commessa.Documenti.Protocollo.getByName("Protocollo").currentValue
file2=ConvertFromUrl( file )
file1="'" + file2 + "'"
file3=pro + " " + file1
comando=("/usr/bin/xattr -w com.apple.metadata:kMDItemFinderComment " + file3 ) 
msgbox (comando)
Print #i, comando
Print #i, "exit 0"
Close #i
Shell "bash /tmp/oo.sh"
end Sub
Ultima modifica di charlie il venerdì 13 novembre 2015, 19:06, modificato 1 volta in totale.
Motivazione: Codificato codice
Antonio OpenOffice 4.1 su MacOS 10.11
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Problema con il comando Shell e le variabili

Messaggio da unlucky83 »

Io in genere faccio proprio così e mi trovo bene, perchè mi consente di concentrarmi prima sulla scrittura corretta dello script bash con test da terminale e poi scrivere la macro. Inoltre siccome gli script bash accettano gli argomenti, alcune volte faccio alcune operazioni direttamente nello script bash, per esempio imposto come argomenti i parametri dei comandi che sono presenti nello script.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Rispondi