別のターミナルウィンドウで別のスクリプトを実行して待機しないスクリプトを作成するには?

別のターミナルウィンドウで別のスクリプトを実行して待機しないスクリプトを作成するには?

私は次を書いた

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

red5.sh実行するスクリプトです(Javaで作成されたメディアサーバー)。

上記のスクリプトは新しい端末を開きますが、エラーメッセージが表示されます。

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

なぜですか?私はUbuntu 11.10を使用しています

答え1

作業ディレクトリは$PATH1には影響しませんので、端末で同じことをすると、何が起こっているのか理解できそうです。

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

どちらも機能するのは次のいずれかです。

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

または

$ 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

したがって、gnome-terminal実行可能ファイルを探す場所の点で同様に機能すると推測すると、これらの方法の1つでスクリプトを変更することもできます。

1:Kevinが指摘したように、あなたのパスにが$PATH含まれていない場合.(他の相対パスはどうですか?)

関連情報