Gibt es eine Möglichkeit, ein neues Terminal über die Befehlszeile zu öffnen und einen Befehl auf diesem neuen Terminal auszuführen (auf einem Mac)?
zB Etwas wie:
Terminal -e ls
wo ls
wird im neuen terminal gefahren.
macos
command-line
terminal
zlog
quelle
quelle
Antworten:
Dies öffnet ein neues Terminal und führt darin den Befehl "hallo echo" aus.
quelle
osascript -e 'tell app "Terminal" to do script "echo hello"'
"$@"
in Shell, aber in OSA-Schrift geschrieben sind?Sie können es auf Umwegen tun:
Shell-Skripte, die die Erweiterung haben
.command
und ausführbar sind, können durch Doppelklicken in einem neuen Terminal-Fenster ausgeführt werden. Der Befehl entsprichtopen
, wie Sie wahrscheinlich wissen, einem Doppelklick auf ein Finder-Objekt, sodass bei dieser Prozedur die Befehle im Skript in einem neuen Terminalfenster ausgeführt werden.Leicht verdreht, aber es scheint zu funktionieren. Ich bin mir sicher, dass es einen direkteren Weg dazu geben muss (was versuchen Sie eigentlich?), Aber es entgeht mir im Moment.
quelle
Sie benötigen Ruby 1.9, oder Sie müssen eine Zeile hinzufügen,
require 'rubygems'
bevor andere dies erfordern, und die Installation nicht vergessengem rb-appscript
.Ich habe dieses Skript
dt
(dup tab) so benannt, dass ich es einfach ausführen kanndt
, um die Registerkarte in demselben Ordner zu öffnen oderdt ls
um dort denls
Befehl auszuführen .quelle
Dies funktioniert zumindest unter Mountain Lion. Es wird jedes Mal eine interaktive Shell initialisiert, obwohl Sie diese nachträglich ersetzen können, indem Sie sie als "macterm exec your-command " aufrufen . Speichern Sie dies in bin / macterm in Ihrem Home-Verzeichnis und chmod a + x bin / macterm:
quelle
Ich würde das mit AppleScript machen. Sie können es mit dem Befehl osascript optimieren. Ihr Skript würde ungefähr so aussehen:
Wenn Sie nur im Terminal darauf zugreifen, können Sie alle Anweisungen außer der mittleren tell-Anweisung weglassen. Wenn Sie ein neues Fenster anstelle einer neuen Registerkarte möchten, ersetzen Sie den t-Tastenanschlag durch n.
Ich bin kein erfahrener AppleScripter, der weiß, wie man Befehlszeilenargumente abruft und sie dann im neuen Fenster erneut eingibt, aber ich bin sicher, dass dies möglich und nicht allzu schwierig ist.
Ich denke auch, dass dies funktioniert und ich kann es momentan nicht testen, aber ich bin mir ziemlich sicher, dass Sie ein Shell-Skript mit einer Variante von #! / Usr / bin / osascript -e starten und es dann als ausführbare Datei speichern können wie auch immer du willst. Zumindest in meinem Kopf würde das es Ihnen ermöglichen, so etwas wie $ runinnewterm ls / Applications einzugeben
quelle