Ihr spezifischer Fehler wird dadurch verursacht, dass Sie die --execute
Option nicht richtig verwenden. Wenn Sie sich den Auszug aus der Manpage unten ansehen, werden Sie feststellen, dass --execute
kein Gleichheitszeichen als Teil der Syntax aufgeführt ist, da einfach der gesamte Rest der Befehlszeile ausgeführt wird. Ein Beispiel für die korrekte Verwendung wäre:
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
WICHTIGER HINWEIS: Die
Verwendung cd
ist ohnehin ein Sonderfall. cd
ist nicht wie die meisten Befehle - es startet keine eigene Binärdatei / ausführbare Datei. Es wird direkt von bash
(oder der von Ihnen verwendeten Shell) interpretiert . Daher cd
stimmt der Versuch, aufzurufen , nicht mit den Flags --execute
und überein -x
(die anscheinend einen untergeordneten Prozess direkt erzeugen möchten). Das gleiche Problem tritt auf (ich habe es überprüft) bei anderen Befehlen, die direkt von bash
like verarbeitet werden home
. Selbst bei ordnungsgemäßer Verwendung ohne Gleichheitszeichen wird der Fehler "Datei oder Verzeichnis nicht gefunden" angezeigt. Daher ist die Verwendung dieser --working-directory=[DIRECTORY]
Option die beste Wahl, um das zu tun, was Sie tun möchten.
EIN ANDERER WICHTIGER HINWEIS:
Selbst wenn dies nicht der Fall wäre, würden Sie dennoch in Schwierigkeiten geraten. Das Problem besteht darin, dass Sie versuchen, die --execute
Option zu verwenden, wenn Sie tatsächlich die Bedeutung der --command
Option beabsichtigen . In der Manpage-Dokumentation wird ausdrücklich darauf hingewiesen
-e, --command = STRING
Execute das Argument für diese Option innerhalb des Terminals.
-x, --execute Führt
den Rest der Befehlszeile im Terminal aus.
(Hervorhebung von mir)
Mit anderen Worten, es wird es wahrscheinlich nicht so analysieren, wie Sie es sich vorstellen. Die Verwendung --execute
verhindert, dass Sie weitere Optionen an übergeben gnome-terminal
.
Ein Auszug aus einem meiner eigenen Skripte, in dem ich mehrere Befehle auf separaten Registerkarten ausführe (Namen wurden aus Datenschutz- / Sicherheitsgründen geändert):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(Übrigens führt der Versuch, das --command
Flag mit cd
oder zu verwenden home
, auch zu dem bekannten Fehler "Keine solche Datei oder kein solches Verzeichnis".)
Ich hoffe das ist nicht zu lang. Ich versuche nur gründlich zu sein.