运行命令并在运行时查询该命令

运行命令并在运行时查询该命令

我不明白为什么这条线不起作用

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在中间放置并不能解决)或者任务无法在同一个 shell 中完成。我需要第二个命令在第一个命令启动后(或几秒钟后)运行,而不是在它完成后运行。

仅当我从同一终端 shell 或另一个 shell 中的另一个命令之后启动第二个命令时,第二个命令才会产生输出,但不会像上述示例中那样一起启动。我尝试了disownand最后nohup尝试了第二次,没有得到任何结果&

有什么建议吗?

答案1

我只需要添加一个--sync选项xdotool 手册页

- 同步

阻塞直到有结果。当您启动应用程序并希望等到应用程序窗口可见时,这非常有用。

这使得正确的命令

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

就像,就我而言

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

相关内容