Como posso fazer meus scripts de shell serem executados em um novo console automaticamente?

7

Olá, estou executando o Ubuntu 10.04 e aprendendo o ROS (Sistema Operacional Robot), o que significa que eu insiro bastante comandos de shell

Atualmente, estou criando alguns arquivos de script BASH para facilitar o meu trabalho, mas há determinados comandos que devem ser executados em outro console .

Então, por favor, me diga quais comandos devo escrever no meu arquivo .sh para que ele possa executar seus comandos em uma janela e depois iniciar outra janela na qual ele execute outros comandos, mas a partir do mesmo arquivo .sh

Ou eles podem estar em diferentes arquivos .sh que precisam executar em diferentes consoles.

    
por Bora George 17.12.2011 / 16:19

1 resposta

5

Você pode executar seu script em outra janela do emulador de terminal, suponho gnome-terminal com o comando

gnome-terminal -x ./script

Você pode simplificar o processo que define uma função no seu ~/.bashrc

start() {
  gnome-terminal -x "$@"
}

onde pode escolher o nome que preferir em vez de start . Você usa a função dessa maneira

start ./command arg1 arg2

(você precisa reiniciar o terminal para o shell saber sobre a nova função).

Como você pode ver, há um pequeno problema, a janela fecha quando o comando termina. Para evitar isso, você poderia agrupar seu comando em um shell script e adicionar uma última linha com o comando read :

#!/bin/sh
# script

./command arg1 arg2
read answer

Então, quando você ligar

start ./script

não será fechado, aguardando sua entrada.

Infelizmente, é difícil automatizar isso na função start .

    
por enzotib 17.12.2011 / 16:27

Tags