
Ich arbeite also an einem benutzerdefinierten Makefile-Skript (für TinyOS, falls es jemanden interessiert), das eine Datei erstellt und sie dann in einem Simulator ausführt.
Das Problem besteht darin, dass der Simulator seine Eingaben aus dem Standardeingang bezieht. Wenn ich das Makefile des Eclipse-Plugins ausführe, das mein Team und ich verwenden, kann ich keine Befehle eingeben.
Ich habe das Problem umgangen, indem ich die Zeile
gnome-terminal --title="MSPSim Terminal" -x mspsim build/telosb/main.elf
Dies funktioniert natürlich nur, wenn der Benutzer a) ein GNOME-System verwendet und b) über ein Gnome-Terminal verfügt.
Da ich persönlich diesen Shortcut zum Erstellen eines Patches äußerst nützlich finde, würde ich ihn gern als Patch für TinyOS einreichen – aber natürlich muss ich ihn zuerst portierbar machen.
Kennt jemand eine Möglichkeit, auf jeder beliebigen Linux-, Mac OSX- und Cygwin-Variante ein neues Terminalfenster zu starten, vorzugsweise so, dass die Datei für alle drei funktioniert, unabhängig davon, was Sie verwenden?
Antwort1
Sie müssen wahrscheinlich eine Reihe von Bedingungen verwenden, die auf der Verfügbarkeit uname
und dem Vorhandensein der ausführbaren Dateien für potenzielle Terminals basieren. Dann müssen Sie die Argumente anpassen, damit sie mit dem übereinstimmen, was das jeweilige Terminal akzeptiert.
Antwort2
es gibt kein solches Tool, zumindest ist mir keines bekannt. xterm ist so gut wie überall vorhanden, aber Sie können auch nicht sicher sein, dass xterm installiert ist.
Antwort3
Ich habe es letztendlich doch aus dem Makefile ausgegliedert und in ein eigenes Shell-Skript integriert, da es Probleme mit der Anführungszeichensetzung gab (ich glaube, das ist aus Gründen der OSX-Kompatibilität erforderlich).
Da ich dies wiederverwenden möchte, habe ich das Skript online gestellt aufgithubWenn Ihr bevorzugter Terminalemulator nicht unterstützt wird, senden Sie mir die entsprechende Manpage, damit ich die erforderlichen Argumente ermitteln und sie hinzufügen kann.