Ajudado pela resposta de @ nickguletskii , e meu próprio comentário sob a resposta dele, e inspirado no voto positivo de @ grabantot do meu comentário, aqui está minha maneira preferida de fazê-lo, especialmente quando eu quero que o terminal fique aberto para que eu possa usá-lo manualmente.
Ex. uso: isso é realmente útil para adicionar aos seus programas de inicialização, para que este script seja executado, abra um terminal, crie e nomeie uma guia no terminal e execute um comando para você. Ou você pode simplesmente adicionar um link simbólico para esse script na área de trabalho. Uso esse tipo de abordagem para clicar duas vezes em um único ícone na área de trabalho e abrir vários terminais (com várias guias nomeadas de acordo com o trabalho que vou fazer neles) e programas para configurar meu ambiente de programação, por exemplo, para o trabalho diário.
Aqui está um exemplo artificial, que abre uma única guia, intitula-a "test" e executa o comando simples cd /etc; ls
dentro dela. A $SHELL
parte no final força o shell a permanecer aberto para que você possa ver sua saída e continuar usando (eu aprendi isso em outro lugar no Stack Overflow):
gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"
Aqui está um exemplo mais complicado que abre três abas separadas no mesmo terminal gnome. Este é exatamente o tipo de coisa que meu atalho na área de trabalho faz para que eu possa abrir várias janelas de programação de uma só vez:
gnome-terminal --tab --title="tab 1" --command="bash -c 'cd /etc; ls; $SHELL'" --tab --title="tab 2" --command="bash -c 'cd ~; ls; $SHELL'" --tab --title="tab 3" --command="bash -c 'cd ~/temp3; ls; $SHELL'"
Aqui está um detalhamento desse comando acima:
gnome-terminal
= abrir um terminal gnomo
--tab
= abra uma guia exclusiva para o que vem a seguir
--title="tab 1"
= intitule esta guia "guia 1"
--command="bash -c 'cd /etc; ls; $SHELL'"
= executa o bash -c 'cd /etc; ls; $SHELL'
comando, que é um comando que acabei de criar como exemplo; aqui está o que ele faz:
bash -c
diz que é um comando bash '
cd /etc
= 'alterar' o diretório no caminho "/ etc"
ls
= 'l'i''t conteúdo deste diretório
$SHELL
= esse boato enigmático é necessário para manter o shell aberto para que você possa trabalhar com ele. Se você deseja que o shell seja aberto, execute seu comando e feche, basta remover esta parte. No entanto, quero que a guia fique aberta para que eu possa tornar a programação mágica. :)
- em seguida, recomeçamos a
--tab
peça para produzir a guia 2 e, novamente, a guia 3. Personalize com o conteúdo do seu coração.
Captura de tela: