我有一个 bash 脚本,它执行一些处理/日志记录,并将其写入文件。它持续运行,直到用户终止它。我想要做的是自动终止 - 连续运行此脚本,直到将文件填充到用户指定的特定大小或行数为止。这可能吗?

我想不出这是怎么做到的,因为如果这个脚本是连续的,我就不能使用条件。我只能想到使用线程,但我是这方面的初学者,不希望它如此复杂。

最佳答案

正如@123 所说,您可以使用 head 将输出限制为给定的行数,例如

continuous_command | head -n 20 > output_file

将显示前 20 行,然后当 continuous_command 尝试打印其第 21 行时它会失败,因为管道的另一端已退出,因此 continuous_command 将获得 SIGPIPE 信号,这通常会导致程序终止。

如果您希望输出到终端而不是文件,您可以删除 > output_file 部分

关于bash - 如何在一定数量的输出后终止脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39723431/

10-12 02:47
查看更多