Twój konkretny błąd jest spowodowany niewłaściwym użyciem --executeopcji. Jeśli spojrzysz na fragment strony man poniżej, zauważysz, że --execute nie ma znaku równości wymienionego jako część składni, ponieważ po prostu wykonuje całą resztę wiersza poleceń. Przykładem prawidłowego użycia może być:
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
WAŻNA UWAGA: W każdym razie
używanie cdjest trochę specjalnym przypadkiem. cdnie jest jak większość poleceń - nie uruchamia własnego pliku binarnego / wykonywalnego. Jest interpretowany bezpośrednio przez bash(lub jakąkolwiek powłokę, której używasz). Dlatego próba wywołania cdnie zgadza się z flagami --executei -x(które wydają się chcieć bezpośrednio odrodzić proces potomny). Ten sam problem wystąpi (sprawdziłem) z innymi poleceniami, które są przetwarzane bezpośrednio przez bashlike home. Nawet przy prawidłowym użyciu, bez znaku równości, nadal spowoduje błąd: „Nie znaleziono pliku lub katalogu”. Dlatego użycie tej --working-directory=[DIRECTORY]opcji jest najlepszym wyborem do robienia tego, co chcesz.
KOLEJNA WAŻNA UWAGA:
Nawet gdyby tak nie było, nadal będziesz miał kłopoty. Problem polega na próbie skorzystania z --executeopcji, gdy rzeczywiście zamierzasz sens tej --commandopcji. W dokumentacji strony podręcznika jest to wyraźnie zaznaczone
-e, --command = STRING
Wykonaj argument tej opcji w terminalu.
-x, --execute
Wykonaj resztę wiersza poleceń wewnątrz terminala.
(moje podkreślenie)
Innymi słowy, prawdopodobnie nie będzie parsował tego w sposób, w jaki myślisz, że powinien. Użycie --executeuniemożliwia przekazanie dalszych opcji do gnome-terminal.
Fragment jednego z moich własnych skryptów, w którym uruchamiam wiele poleceń na osobnych kartach (zmieniono nazwy dla mojej prywatności / bezpieczeństwa):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(Nawiasem mówiąc, próba użycia --commandflagi z cdlub homespowoduje również znany błąd „Brak takiego pliku lub katalogu”).
Mam nadzieję, że to nie za długo. Po prostu staram się być dokładny.