cd
é um shell embutido. você deveria usar isto:
#! /bin/bash
gnome-terminal --working-directory=/home/username/Desktop/CCA/ -e './Adventure'
Eu tenho um jogo baseado em texto, Colossal Cave Adventure, que eu gostaria de lançar com um script de shell em vez de abrir o terminal e digitar cd ~/Desktop/CCA
e ./Adventure
. O código que estou tentando usar é o seguinte:
#! /bin/bash
gnome-terminal -e 'cd ~/Desktop/CCA/; ./Adventure'
e a mensagem que recebo é esta:
There was an error creating the child process for this terminal
Failed to execute child process 'cd' (No such file or directory)
com opções para alterar as preferências de perfil ou relançar o processo. Eu também tentei usar o caminho absoluto em vez de ~/
, e todos os nomes dos meus arquivos estão escritos corretamente e apontam para o lugar certo. O que está errado?
cd
é um shell embutido. você deveria usar isto:
#! /bin/bash
gnome-terminal --working-directory=/home/username/Desktop/CCA/ -e './Adventure'
O erro
Failed to execute child process "cd" (No such file or directory)
surge porque cd
é um dos SHELL BUILTIN COMMANDS
e não é um executável encontrado fisicamente no seu disco rígido.
Para executá-lo ou aos outros built-in
comandos em seu script, você precisa passar toda a linha para uma bash
invocação
gnome-terminal -e '/bin/bash -c "cd ~/Desktop/CCA/; ./Adventure" '
Se não houver outro comando interno que você tenha que executar, você pode definir o diretório de trabalho para o gnome terminal
, como acabamos de responder aqui :
gnome-terminal --working-directory=/home/username/Desktop/CCA/ -e './Adventure'
Ad nauseam : existem algumas alternativas:
Se você está apenas em um terminal, você pode fazer
um alias
como alias Star_My_Game="cd ~/Desktop/CCA; ./Adventure "
e coloque em seu .bashrc
ou em ~/.bash_aliases
para que você possa rodar com o único comando Start_My_Game
em cada shell que você será (é mais confortável escolher um nome simples / curto que o Start_My_Game ... )
ou um script que você pode tornar executável ( chmod u+x MYscript
) e colocar em seu path
(tipicamente ~/bin
é um bom candidato).
Suponho que você pode colocar um link em sua área de trabalho que execute o terminal e modifique o comportamento inicial. Da ajuda do gnome
Selecione Editar ▸ Preferências de perfil ▸ Título e comando.
Marque Executar um comando personalizado em vez do meu shell.
Na caixa de texto, digite o comando ou o shell desejado.
O comando será passado para o terminal exatamente como você o escreve incluindo quaisquer argumentos que você especificar. Variáveis de ambiente ser herdado do terminal, pois é um processo filho do terminal.
Abra uma nova guia ou janela do Terminal para ver como o shell personalizado ou comando executa
Tags gnome-terminal