コマンドを実行し、実行中にコマンドを照会します。

コマンドを実行し、実行中にコマンドを照会します。

この行がなぜ機能しないのかわかりません。

firefox & xdotool search --name firefox > file

xdotool search --name firefoxタイトルに「firefox」という単語を含むウィンドウが見つかると、数値が返されます。後で使用するには、ファイルにリダイレクトする必要があります。ポイントは、

chromium-browser & xdotool search --name firefox > file

そして

firefox & xdotool search --name chromium > file 

完璧に動作します。問題はウィンドウをマッピングするのに必要な時間でなければなりません(ただし、sleep 10中間に配置しても問題は解決しません)。そうしないと、同じシェルで操作を完了できません。最初のコマンドが完了した後ではなく、最初のコマンドが開始した後(または数秒後)に実行するには、2番目のコマンドが必要です。

2番目のコマンドは、同じターミナルシェルで実行した場合、または別のシェルで別のコマンドを実行した後に実行した場合にのみ出力を生成しますが、上記の例のように一緒には実行しません。 2回目の試みをdisownし、ついにnohup2回目の試みをしましたが、結果はありません。&

どんな提案がありますか?

答え1

--syncオプションを追加すればいいと思います。xdotoolのマニュアルページ

- 同期

結果が出るまでブロックします。これは、アプリケーションを実行してアプリケーションウィンドウが表示されるのを待ちたい場合に便利です。

これは正しいコマンドを作成します

application & xdotool search --sync --name string_contained_in_the_window_title > file

私が知る限り

firefox & xdotool search --sync --name firefox > firefox.txt

関連情報