Ваша конкретна помилка викликана неправильним використанням --executeопції. Якщо ви подивитеся на уривок зі сторінки man нижче, ви зауважите, що --execute немає знака рівності, зазначеного як частина синтаксису, оскільки він просто виконує всю решту командного рядка. Прикладом правильного використання може бути:
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
ВАЖЛИВА ПРИМІТКА:
Використання cd- це все-таки особливий випадок. cdне подібно до більшості команд - він не запускає власний бінарний / виконавчий файл. Він інтерпретується безпосередньо bash(або будь-якою оболонкою, яку ви використовуєте). Тому спроба викликати cdне погоджується із прапорами --executeта -xпрапорами (які, схоже, хочуть безпосередньо породити дочірній процес). Ця ж проблема виникне (я перевірив) з іншими командами, які безпосередньо обробляються bashподібними home. Навіть якщо використовується правильно, без знака рівності, це все одно призведе до помилки: "Файл або каталог не знайдено". Тому використання --working-directory=[DIRECTORY]опції найкраще робити те, що ви хочете зробити.
ІНШЕ ВАЖЛИВО ПРИМІТКА:
Навіть якби це не було, ви все одно зіткнетесь з проблемою. Проблема полягає у спробі використовувати --executeваріант, коли ви дійсно маєте намір значення цього --commandваріанту. У документації на довідкову сторінку зазначено конкретно
-e, --command = STRING
Виконайте аргумент цієї опції всередині терміналу.
-x, --execute
Виконати залишок командного рядка всередині терміналу.
(наголос мій)
Іншими словами, це, мабуть, не буде аналізувати так, як ви думаєте, як слід. Використання --executeне дозволяє передавати будь-які подальші варіанти gnome-terminal.
Уривок з одного з моїх власних сценаріїв, де я виконую кілька команд на окремих вкладках (імена змінені для моєї конфіденційності / безпеки):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(Між іншим, спроба використовувати --commandпрапор із cdабо homeтакож призведе до звичної помилки "Немає такого файлу чи каталогу".)
Я сподіваюся, що це не надто довго. Я просто намагаюся бути ретельним.