我写了以下内容
#!/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
工作目录不会影响您的$PATH
1,因此我想如果您在终端中执行相同的操作,则可以理解发生的情况,即
$ 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:如果您的$PATH
不包含.
,正如凯文指出的那样(其他相对路径怎么样,顺便说一句?)。