我正在写一个bash脚本来帮助管理我工作的一系列网站。脚本使用web主机提供的CLI工具来查询站点列表,然后对每个站点执行给定的命令。
我试过用:
command 1 & command 2 & command 3 & command 4最终效果很好。我遇到的问题是,在执行每个命令时,CLI工具将输出状态。这些状态只是随机地附加到我的终端窗口的底部,与它们的原始上下文分离,并且允许终端之间的输入,这使得很难跟踪哪个命令已经完成,哪个命令仍然在运行,如果有任何运行的话。
有没有办法运行这一系列命令,但将每个命令的输出分组,就像状态屏幕一样,直到所有命令运行完毕?
我见过其他CLI工具做类似的事情,它同时显示一组独立任务的状态栏/信息,但我不知道这是如何完成的。
谢谢!
发布于 2022-08-24 15:56:30
平行命令似乎收集每个命令的输出,并在不与其他命令混合的情况下打印它。
parallel -- "command 1" "command 2" "command 3" "command 4"不过,它不提供交互更新,也不提供输出来自哪个命令的指示。您必须使用附加逻辑包装这些命令,才能使用并行命令获得该行为。
https://stackoverflow.com/questions/73475784
复制相似问题