Newsgroup: it.comp.macintosh
Titolo: Aiuto su come far eseguire a Terminal.app uno script e passargli i parametri....

Salve,
sto riadattando un programmino scritto in Java che dovrebbe aprire il
Terminal.app, eseguire al suo interno uno script Perl e passare a
quest'ultimo 3 parametri. Il problema che non riesco a
risolvere nonostante i numerosi tentativi è trovare il comando giusto
da far eseguire a Java. Fino ad ora ho provato inutilmente con il seguente:
/Applications/utilities/Terminal.app/Contents/MacOS/Terminal
/Users/NomeUtente/Documents/
script.pl
 parametro1 parametro2 parametro3
Il Terminal.app si apre, lo 
script.pl
 viene effettivamente avviato
all'interno di Terminal.app ma *non* riceve i tre parametri richiesti,
tanto è che si interrompe segnalandomi: "Use of uninitialized value in
concatenation (.) or string at /Users/NomeUtente/Documents/
script.pl
" :(
Qualcuno sa aiutarmi? Sicuramente non riesco a trovare la soluzione
perché non sono ferrato in *nix
Grazie e saluti ;)

 
http://www.devx.com/tips/Tip/14667
Il codice Java l'ho ultimato, il problema nasce col comando da far
eseguire a Runtime.getRuntime(). Che tu sappia quel che mi propongo di
fare è realizzabile oppure no?
Come avevo scritto, ho provato inutilmente con questo comando:
/Applications/utilities/Terminal.app/Contents/MacOS/Terminal
/Users/NomeUtente/Documents/
script.pl
 parametro1 parametro2 parametro3
Non riesco a capire come mai *non* vengono passati i 3 parametri allo
script.pl
 :(
Saluti ;)

 richiesti,
ho provato, dall'interno del terminale (no java)
$Terminal ls
e funziona, mentre
$Terminal ls -l
non funziona (ovvero mi da un listing non esteso) --- allora ho
provato
$Terminal ls\ -l
$Terminal 'ls -l'
e nessuno dei due funziona, nel senso che non ho un listing, ma solo
il prompt della shell... allora, disperato, ho provato
echo ls -l > pippo ; chmod +x pippo
$Terminal /path/leading/to/pippo
e questo funziona come inteso --- se vuoi, puoi quindi scrivere un
file con il comando da passare al terminale, renderlo eseguibile e
passarne il pathname al terminale
                                                                gb
PS: il terminale, quando lo lancio da terminale, mi da un lungo
messaggio d'errore, che ammonta piu' o meno a "failed to name Mach port"
-- 
"It will be rain tonight."
            "Let it come down."

 passarne il pathname al terminale
Innanzitutto ringrazio tutti coloro che mi stanno cercando di aiutare :)
Ho provato i vostri consigli e quello proposto da Giacomo sembra la
direzione migliore da seguire per cercare di risolvere questo dannato
problema dei parametri non passati correttamente (chi se lo
sarebbe mai immaginato questo contrattempo?). Correggetemi se sbaglio:
dalle innumerevoli prove effettuate mi pare di aver capito che il
Terminal.app non passa correttamente i parametri oppure non conosco il
'trucchetto' da applicare. Volevo mantenere il codice Java più semplice
e pulito possibile, evitando anche di appoggiarmi a file esterni non
strettamente necessari, ma se questa è l'unica soluzione, mi rimbocco le
maniche... :-\
Saluti ;)

 sarebbe mai immaginato questo contrattempo?)
Se vogliamo essere proprio proprio pignoli, tutti gli eseguibili degli
.app dovrebbero essere figli del window server, che gli passa
parametrume vario privato (cioe' Terminal teoricamente dovrebbe ignorare
la sua linea di comando e passarla verbatim a Cocoa). E' gia' tanto che
faccia il primo...
Ad ogni modo, e' possibile usare il comando do script via AppleScript
per far eseguire a Terminale una linea di comando:
tell app "Terminal"
        do script "/Users/NomeUtente/Documents/
script.pl
 parametro1
parametro2 parametro3"
end tell
 - ∞
-- 
http://millenomi.altervista.org/