Como criar um script, que executa outro script em uma janela de terminal separada e não espera?

2

Eu escrevi o seguinte

#!/bin/bash
cd ~/bin/red5-1.0.0
gnome-terminal --working-directory=. -x red5.sh

red5.sh é o script a ser executado (este é um servidor de mídia escrito em java).

Meu script acima abre um novo terminal, mas com uma mensagem de erro

There was an error creating the child process for this terminal
Failed to execute child process "red5.sh" (No such file or directory)

Qual pode ser a causa? Eu estou no Ubuntu 11.10

    
por Dims 30.11.2012 / 10:50

1 resposta

3

O diretório de trabalho não afeta seu $PATH 1 , então eu acho que o que está acontecendo pode ser entendido se você fizer a mesma coisa em um terminal, ou seja,

$ cd ~/bin/red5-1.0.0
$ red5.sh

não funcionará também; o que funciona é um dos seguintes:

$ cd ~/bin/red5-1.0.0
$ ./red5.sh            # note the relative path to the script

ou

$ cd ~/bin/red5-1.0.0
$ export PATH=~/bin/red5-1.0.0:$PATH   # add the path to $PATH which is where 
$ red5.sh                              # the shell looks for red5.sh

Então, adivinhando que gnome-terminal funciona de forma semelhante (em relação a onde procura executáveis), você provavelmente também poderia alterar seu script de uma destas maneiras.

1: Se o seu $PATH não contém . , como Kevin apontou (e quanto a outros caminhos relativos, btw?).

    
por 30.11.2012 / 11:08