-1

我正在使用 bash 脚本来自动运行模拟程序。该程序定期在控制台中打印模拟的当前状态,例如“迭代步骤 42 正常结束”。

如果控制台输出类似于“警告:参数 xyz 超出有效范围”,是否可以中止脚本?如果控制台输出通过管道传输到文本文件,我该怎么办?

抱歉,如果这听起来很愚蠢,我是新手 :-)

提前致谢

4

1 回答 1

1

这不是 Bash 的理想工作。但是,您当然可以使用条件、类似 grep 的工具和命令替换的混合物在 Bash 迭代循环中捕获和测试 STDOUT。

另一方面,如果 Bash 没有进行循环(例如,它只是在等待外部命令完成),那么您需要使用类似expect的东西。Expect 专门用于监视正则表达式的输出流,并根据表达式匹配执行分支。

于 2012-06-02T08:49:03.833 回答