Помилка
Failed to execute child process "cd" (No such file or directory)
виникає через те, що cd
це один із SHELL BUILTIN COMMANDS
виконуваних файлів, а не їх виконанням, який ви фізично знаходите на своєму жорсткому диску.
Щоб запустити його чи інші built-in
команди в сценарії, вам потрібно передати весь рядок до bash
виклику
gnome-terminal -e '/bin/bash -c "cd ~/Desktop/CCA/; ./Adventure" '
Якщо немає іншої внутрішньої команди, яку потрібно виконати, ви можете встановити робочий каталог для gnome terminal
, як тільки тут відповіли :
gnome-terminal --working-directory=/home/username/Desktop/CCA/ -e './Adventure'
Рекламна нудота : є кілька альтернатив:
Якщо ви просто в терміналі, ви можете це зробити
alias
як
alias Star_My_Game="cd ~/Desktop/CCA; ./Adventure "
і покласти його в .bashrc
або ~/.bash_aliases
так , що ви будете мати можливість працювати з однією командою Start_My_Game
в кожній оболонці ви будете (Це затишніше вибрати простий / коротке ім'я , ніж Start_My_Game ...)
або сценарій, який ви можете зробити виконуваним ( chmod u+x MYscript
) і помістити у свій path
(типово ~/bin
, це хороший кандидат).
Я припускаю, що ви можете покласти на робочий стіл посилання, яке виконує термінал і змінює стартову поведінку. Від допомоги гнома
Виберіть Правка ference Налаштування профілю ▸ Назва та команда.
Поставте прапорець Запустити власну команду замість моєї оболонки.
У текстовому полі введіть команду або потрібну оболонку.
Команда буде передана терміналу саме так, як ви її записуєте, включаючи будь-які вказані вами аргументи. Змінні середовища будуть успадковані від терміналу, оскільки це дочірній процес терміналу.
Відкрийте нову вкладку або вікно терміналу, щоб побачити, як виконується власна оболонка або команда
cd
це не команда.