2017-07-03 24 views
0

bashから新しい端末でコマンドを実行するにはどうすればよいですか? 私はそれを1つの端末から実行するとmosquitto_sub - スクリプトをブロックします。 xterm -eは、新しいターミナルを開きますが、私のスクリプトブロックはあまりにも...Bashスクリプト。新しい端末を開いてコマンドを実行する

#!/bin/bash 
     COUNTER=0 
    xterm -e mosquitto_sub -h 192.168.1.103 -t test 
    mosquitto_pub -h 192.168.1.103 -t test -m "Connected" 
    cd Desktop/ScreenTool/image/ 
     while [ $COUNTER == 0 ]; do 
     tesseract c.png output 
    if grep -q Click "/root/Desktop/ScreenTool/image/output.txt"; then 
     mosquitto_pub -h 192.168.1.103 -t test -m "Rain is here" 
     echo -en "\007" 
    fi 
      cat "/root/Desktop/ScreenTool/image/output.txt" 
    sleep 3; 
    done 
+0

xtermの場合、「新しい端末」を閉じると、スクリプトが実行されます。助けを求めて –

答えて

1

&を背景に入れて、それが終了するのを待たずにコマンドを実行します。

#!/bin/bash 
COUNTER=0 
xterm -e mosquitto_sub -h 192.168.1.103 -t test & 
mosquitto_pub -h 192.168.1.103 -t test -m "Connected" 
cd Desktop/ScreenTool/image/ 
while [ $COUNTER == 0 ]; do 
    tesseract c.png output 
    if grep -q Click "/root/Desktop/ScreenTool/image/output.txt"; then 
     mosquitto_pub -h 192.168.1.103 -t test -m "Rain is here" 
     echo -en "\007" 
    fi 
    cat "/root/Desktop/ScreenTool/image/output.txt" 
    sleep 3; 
done 
+0

thnx! –

関連する問題