2013-03-18 6 views
1

쉘 스크립팅을 처음 사용합니다. gnome-terminal을 사용하고 있습니다. 내가 하나씩 내 프로세스를 시작해야하는 하나의 간단한 스크립트를 작성했습니다, 여기에 내 스크립트입니다 :forground에서 다른 터미널 탭에서 프로세스를 실행하는 스크립트

#!/bin/bash  
    cd A/ 
    sleep 1 
    ./exe1 & 
    echo "-------- exe1 STARTED------" 

    cd ../../B/ 
    sleep 1 
    ./exe2_a & 
    sleep 1 
    ./exe2_b & 
    echo "--------exe2 STARTED------" 

    cd ../C/ 
    sleep 1 
    ./NAV_exe3_a & 
    sleep 1 
    ./NAV_exe3_b & 
    echo "--------exe3 STARTED------" 

당신은 내가 배경에서 5 개 개의 다른 프로세스를 시작하고 볼 수 있듯이,하지만 난 그들을 어떻게 시작 할까 하나의 스크립트로 터미널의 (포 그라운드에서) 5 개의 다른 탭에 있습니까? 어떤 방법이 있습니까? 이 병렬로 모든 것을 시작할 것이다

gnome-terminal \ 
    --tab -e "./exe1" \ 
    --tab -e "./exe2" \ 
    --tab -e "./exe3" 

참고 : 사용 가능한 gnome-terminal이있는 경우

+0

사용하는 터미널 에뮬레이터에 따라 다릅니다. 셸은 터미널에 대해 아무 것도 모른다. 그것은 부모 프로세스에 의해 제공되는 환경에 대해서만 알고 있습니다. – chepner

+0

[스크립트 새 탭 Mac 터미널] (http://stackoverflow.com/questions/7171725/open-new-terminal-tab-from-command-line-mac-os-x) – ma11hew28

답변

2

, 당신은 같은 것을 할 수 있습니다. 당신이 그런 종류의 일이 필요하면 잠을 사용하여 시간 지연을 구현할 수 있습니다 :

gnome-terminal \ 
    --tab -e "./exe1" \ 
    --tab -e "sh -c 'sleep 5; ./exe2'" \ 
    --tab -e "sh -c 'sleep 10; ./exe3'" 
+0

감사합니다! 그것은 나를 위해 위대한 작품. 그러나'--tab -e "는 10을 잠자 지냅니다. ./exe3"'완전하지 않습니다. 다른 해결책이 있습니까? – Tejas

+0

어떤 방식으로 작동하지 않았는지 표시하지는 않았지만 업데이트를 확인하십시오. 나는 이것이 당신의 문제를 해결할 것이라고 생각합니다. – larsks

+0

다시 한번 Larsks에게 감사 드려요.하지만'sh -c'도 작동하지 않았습니다. 그러나 포어 그라운드에서 모든 프로세스를 실행하는 것이 좋은 일이지만 다른 터미널 (탭이 아님)에서 다시 한 번 감사드립니다! – Tejas

관련 문제