Ошибка
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
, это хороший кандидат).
Я полагаю, вы можете разместить на своем рабочем столе ссылку, которая запускает терминал и изменяет поведение при запуске. От помощи гнома
Выберите «Правка» ▸ «Настройки профиля» ▸ «Заголовок и команда».
Установите флажок Выполнить пользовательскую команду вместо моей оболочки.
В текстовом поле введите команду или желаемую оболочку.
Команда будет передана в терминал точно в том виде, в котором вы ее написали, включая все заданные вами аргументы. Переменные среды будут унаследованы от терминала, поскольку это дочерний процесс терминала.
Откройте новую вкладку или окно терминала, чтобы увидеть, как выполняется пользовательская оболочка или команда
cd
это не команда.