これは本当に依存します。 program.py
が完了したら、xdotool
に進み、&
の代わりに&&
を使用します。単一の&
は、コマンドの実行を待ってから、できるだけ早く次のコマンドに移動することを意味します。 dobule &&
は、実行が完了するのを待つことを意味し、エラー終了がゼロの場合にのみ続行します。 program.py
の成功に関係なく、次のコマンドを実行する場合は、&
を削除するか、;
を使用することもできます。右&
を使用して、あなたがxdotool
のコマンドを実行しながら実行し続けるはず、しかし、あなたは続行する前に、いくつかの準備状態に来てprogram.py
を必要としている
#!/bin/bash
cd ~/Folder
python program.py &&
WID=$(xdotool search --onlyvisible program)
...
program.py
場合は、あなたがしている:ここで私ができんですよあなたは何とかprogram.py
を監視し、そこから信号を受け取って続行する必要があります。これを行う古くは、program.py
がファイルを作成/タッチ/編集するようにして、そのファイルが検出されたら続行します。より高度な方法は、ネットワークソケットなどを使用することですが、実際に何もする必要がなければ、私はそれに対してアドバイスをします。この最後の解決策program.py
とxdotool
で
#!/bin/bash
cd ~/Folder
python program.py &
until [ -f /tmp/.program_signal_file ]
do
sleep 1
done
WID=$(xdotool search --onlyvisible program)
rm /tmp/.program_signal_file
...
は、両方同時に実行されている:とにかく、あなたが作る場合program.py
は、物事は準備ができているとき、あなたがしなければならないすべては、/tmp/.program_signalfile
を言って、信号のファイルを作成します。それがあなたが探していたものなら。
Pythonプログラムでスクリプトの2番目の部分を開始しましたか? – kindall
私はPythonプログラムを書いていませんでした。そのオープンソースソフトウェア – MilloMille
'xdotool search'は' --sync'オプションを持っています。これはウィンドウが見えるのを待つでしょう。そのオプション(つまり、 'xdotool search --sync --onvisible program')を指定して実行すると、スクリプトはまったくスリープする必要はありません。 – ottomeister