Votre erreur spécifique est due à une mauvaise utilisation de l' --executeoption. 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 cdest un peu un cas spécial, de toute façon. cdn'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 cdn'est pas d'accord avec les indicateurs --executeet -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 bashlike 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' --executeoption lorsque vous avez réellement l'intention de la signification de l' --commandoption. 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 --executevous 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' --commandindicateur avec cdou homeentraî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.