gpt4 book ai didi

linux - 如何从 bash 脚本中退出 yarn top 命令的交互模式

转载 作者:太空宇宙 更新时间:2023-11-04 12:02:58 25 4
gpt4 key购买 nike

我在 serverA 上有一个 bash 脚本。该脚本将通过 ssh 连接到服务器 B 并运行 yarn top 命令,提取指标并将其放入服务器 A 上的文件 (test.txt) 中。下面是我正在使用的命令:

ssh -oStrictHostKeyChecking=no -i <key> username@hostname "yarn top" | head -5 | grep -w 'Applications' | awk '{print "Pending_apps" "\t" $7}' >> test.txt

所以这里的问题是,在我的脚本在命令之上运行后,它进入交互模式,并且仅在我给出 Ctrl+C 或手动退出信号/命令时退出。

在运行上述命令并将输出重定向到 test.txt 之后,脚本应该通过什么方式移动到下一个命令。也就是说,在命令提示符下运行上述命令后,它应该将输出重定向到 test.txt 文件,然后返回到命令提示符/终端

最佳答案

您可以尝试通过管道传输 echo 的输出来模拟控制台,如下所示:

(sleep $SLEEP_TIME; echo -e "q\n\n") | yarn top > yarn-top.log

意思是:“运行 yarn top,并并行等待 SLEEP_TIME,然后输出 q 和两个新行”。

只要 SLEEP_TIME 小于 yarn top 上的默认刷新延迟(默认 3 秒),您将在 yarn- 中获得一个屏幕更新top.log。如果您将 SLEEP_TIME 设置为大于刷新延迟,您将在 SLEEP_TIME 期间获得尽可能多的更新。

您需要 echo -e 来转义换行符。您需要它们,因为 yarn top 是用 java 实现的。请参阅 yarn top --help:

  1. Since the tool is implemented in Java, you must hit Enter for key presses to be processed.

关于linux - 如何从 bash 脚本中退出 yarn top 命令的交互模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51729213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com