Ошибка
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'
Ad nauseam: есть несколько альтернатив: [!d7 ]
Если вы просто находитесь в терминале, вы можете сделать
a alias, например alias Star_My_Game="cd ~/Desktop/CCA; ./Adventure ", и поместить его в свой .bashrc или ~/.bash_aliases, чтобы вы могли запускайте с помощью одной команды Start_My_Game в каждой оболочке, которой вы будете (удобнее выбрать более простое / короткое имя, чем Start_My_Game ...) или скрипт, который вы можете сделать исполняемым файлом (chmod u+x MYscript), и поместите в свой (типично ~/bin является хорошим кандидатом).Предположим, вы можете поместить ссылку на свой рабочий стол, который выполняет терминал, и изменить начальное поведение. здесь
Выбрать Изменить ▸ Настройки профиля ▸ Название и команда. Проверьте Запуск пользовательской команды вместо моей оболочки. В текстовом поле введите команду или требуемую оболочку. Команда будет передана на терминал точно так же, как вы ее пишете, включая любые аргументы, которые вы указали. Переменные среды будут наследоваться от терминала, поскольку это дочерний процесс терминала. Откройте новую вкладку или окно терминала, чтобы узнать, как выполняется пользовательская оболочка или командаПо какой-то причине у вас нет /bin/sh. Это может означать, что многие вещи в вашей системе также могут быть неправильными, но только для этой конкретной проблемы вы можете воссоздать символическую ссылку:
sudo ln -s /bin/dash /bin/sh
Если существует /bin/sh, но с ней что-то не так , do:
sudo ln -sf /bin/dash /bin/sh
По какой-то причине у вас нет /bin/sh. Это может означать, что многие вещи в вашей системе также могут быть неправильными, но только для этой конкретной проблемы вы можете воссоздать символическую ссылку:
sudo ln -s /bin/dash /bin/sh
Если существует /bin/sh, но с ней что-то не так , do:
sudo ln -sf /bin/dash /bin/sh
По какой-то причине у вас нет /bin/sh. Это может означать, что многие вещи в вашей системе также могут быть неправильными, но только для этой конкретной проблемы вы можете воссоздать символическую ссылку:
sudo ln -s /bin/dash /bin/sh
Если существует /bin/sh, но с ней что-то не так , do:
sudo ln -sf /bin/dash /bin/sh
По какой-то причине у вас нет /bin/sh. Это может означать, что многие вещи в вашей системе также могут быть неправильными, но только для этой конкретной проблемы вы можете воссоздать символическую ссылку:
sudo ln -s /bin/dash /bin/sh
Если существует /bin/sh, но с ней что-то не так , do:
sudo ln -sf /bin/dash /bin/sh