별도의 터미널 창에서 다른 스크립트를 실행하고 기다리지 않는 스크립트를 만드는 방법은 무엇입니까?

별도의 터미널 창에서 다른 스크립트를 실행하고 기다리지 않는 스크립트를 만드는 방법은 무엇입니까?

나는 다음을 썼다

#!/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)

이유는 무엇입니까? 저는 우분투 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: Kevin이 지적했듯이 귀하의 경로 에 가 $PATH포함되어 있지 않은 경우 .(다른 상대 경로는 어떻습니까?)

관련 정보