terminal per bash öffnen, script mit parameter übergeben

J

juriglx

Neues Mitglied
Thread Starter
Dabei seit
11.11.2008
Beiträge
19
Reaktionspunkte
0
Hi

Ich möchte mehrere Terminal-Fenster per Bash öffnen und dann darin Bash-Scripte ausführen lassen, die Parameter erwarten.

Unter Linux/Gnome sähe das so aus:
Code:
gnome-terminal -e "./script.sh parameter"

Habe jetzt rumgesucht und erreicht dass ein script in einem neuen Terminal-Fenster ausgeführt wird mit:
Code:
open -a /Applications/Utilities/Terminal.app "./script.sh"

Wenn ich allerdings den Parameter anhänge, wird der ganze String als ein Argument betrachtet und ich bekomme den Fehler:
Code:
The file /der/pfad/script.sh parameter does not exist.

Jemand eine Idee wie ich den Parameter übergeben kann?

Danke
 
Bitte beschreibe doch, worum es konkret geht (Welches Kommando? welche Parameter? Wie lautet das eigentliche Ziel). Vielleicht ist schon der Denkansatz falsch. Ich verstehe z.B. nicht, warum Du mehrere Terminalfenster benötigst.

Bitte gib auch die genaue Befehlszeile an, die zu dem von Dir genannten Fehler führt. Die Fehlermeldung klingt jedenfalls nach einer falschen Pfadangabe.
 
Hm

Vielen Dank für Deine Antwort.

Ich verstehe z.B. nicht, warum Du mehrere Terminalfenster benötigst.
Ich möchte, um ein P2P-Netz zu testen, mehrere Peers jeweils in einem eigenen Terminal starten um da dann das Logging eines Peers zu sehen bzw. einen Peer direkt abschießen können.

Das Problem liegt IMHO nicht an dem Script oder an dem Pfad, sondern an open (Denn lasse ich den Parameter weg öffnet sich ja ein Terminal-Fenster in dem das Script ausgeführt wird).
open interpretiert anscheinend das Leerzeichen zwischen Scriptname und Parameter als Leerzeichen in einem Dateinamen und nicht als Tokenbegrenzer.
 
Habe jetzt eine Lösung mit AppleScript das aber aus der bash aufgerufen werden kann

Code:
/usr/bin/osascript -e "tell application \"Terminal\" to do script with command \"cd /pfad/zum/script && ./script.sh $PARAMETER\""

Vielleicht hilfts jemandem.
 
Zurück
Oben Unten