Isto é o que eu quero realizar:
- Eu quero abrir um terminal gnome com cinco abas
- Desejo executar um conjunto de comandos (5 a 10 comandos) em cada guia automaticamente
Primeira guia: deve definir uma visão clara e depois executar um ou mais comandos
Segunda guia: deve entrar em um servidor e executar alguns comandos
Terceira guia: deve executar apenas alguns comandos
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab
(funciona bem, a visualização está definida, mas nenhum comando é executado depois disso)
Tentei fazê-lo dessa maneira e executando isso no script abaixo:
gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript
#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact
Se eu remover as exec gnome-terminal --geometry 125x49-0+81 –tab
linhas do exemplo e chamar um script de outro arquivo, ele funcionará bem - eu entrei no servidor e todos os comandos foram executados. Alguém pode me ajudar a resolver isso?
Escrever um script que chamo para todas as guias não é uma opção, pois terei 5 terminais com 5-7 guias em cada uma no final, e isso significa que seriam necessários de 25 a 30 scripts para escrever (custam mais do que ajuda no meu problema).
fonte
Respostas:
Isso parece funcionar na minha máquina:
Observe que, assim que os processos executados por -e terminarem, eles serão finalizados. Nesse caso, o bash é carregado, executa os comandos que você passa para ele e existe imediatamente. Coloquei as instruções de leitura para aguardar a entrada do usuário. Dessa forma, essas guias não serão fechadas até que você pressione uma tecla, apenas para que você possa vê-la neste exemplo. Sem eles, seria como se apenas duas guias fossem abertas, porque as outras duas seriam executadas e fechadas muito rapidamente.
fonte
Como o bash é encerrado após a conclusão do comando, você pode chamar outra instância de
bash
after your command para obter um shell interativo:fonte
Salvar abaixo como script.sh
adicione script.sh a $ PATH e execute-o
Consulte Abrir uma nova aba no gnome-terminal usando a linha de comando .
fonte