Votre erreur spécifique est due à une mauvaise utilisation de l' --execute
option. Si vous regardez l'extrait de la page de manuel ci-dessous, vous remarquerez que le signe égal --execute
n'est pas répertorié dans la syntaxe, car il exécute simplement le reste de la ligne de commande. Un exemple d'utilisation correcte serait:
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
NOTE IMPORTANTE: L'
utilisation cd
est un peu un cas spécial, de toute façon. cd
n'est pas comme la plupart des commandes - il ne lance pas son propre binaire / exécutable. Il est interprété directement par bash
(ou par le shell que vous utilisez). Par conséquent, tenter d'appeler cd
n'est pas d'accord avec les indicateurs --execute
et -x
(qui semblent vouloir générer directement un processus enfant). Le même problème se produira (j'ai vérifié) avec d'autres commandes qui sont directement traitées par bash
like home
. Même s'il est utilisé correctement, sans le signe égal, il en résultera toujours une erreur: "Fichier ou répertoire introuvable." Par conséquent, l'utilisation de l' --working-directory=[DIRECTORY]
option est votre meilleur pari pour faire ce que vous voulez faire.
UNE AUTRE NOTE IMPORTANTE:
Même si ce n'était pas le cas, vous auriez toujours des ennuis. Le problème consiste à essayer d'utiliser l' --execute
option lorsque vous avez réellement l'intention de la signification de l' --command
option. Dans la documentation de la page de manuel, il indique spécifiquement
-e, --command = STRING
Exécute l'argument de cette option à l'intérieur du terminal.
-x, --execute
Exécute le reste de la ligne de commande à l'intérieur du terminal.
(c'est moi qui souligne)
En d'autres termes, cela ne va probablement pas l'analyser comme vous le pensez. L'utilisation --execute
vous empêche de transmettre d'autres options à gnome-terminal
.
Un extrait d'un de mes propres scripts où j'exécute plusieurs commandes dans des onglets séparés (les noms ont changé pour ma vie privée / sécurité):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(Par ailleurs, essayer d'utiliser l' --command
indicateur avec cd
ou home
entraînera également l'erreur familière "Aucun fichier ou répertoire".)
J'espère que ce n'est pas trop long. J'essaie juste d'être minutieux.