我必须if
在一个命令输出不断更新时运行四个单独的语句(及其后果)(根据输出中可能存在的四个不同字符串执行四项不同的操作)。以下是一些限制:
- 它必须与最后两行一起运行,因为我使用的命令总是在末尾放置一个换行符。
- 它必须在不终止原始命令的情况下运行。
- 我试过用管道将输出传输到文件并使用
entr
,但这样不行,因为 entr 只能检测文件何时关闭,而我通过管道传输到文件的方法却不行?或者说,我不太明白。
我认为我的选择如下:
- 连续将最后两行输出保存到变量中,然后每当变量发生变化时,在单独的并行进程中运行 if 语句。
- 将所有 if 语句串联起来,并将它们全部执行,并将原始命令的标准输出原封不动地通过管道传输出去。(粗略研究表明,直接在标准输入上运行 if 语句可能不可行。)
- 将相同的标准输出同时直接传送到四个单独的命令中。
- 找到一种方法将命令传送到文件中,并在每次更新时关闭文件。
- 将命令输出通过管道传输到文件,并使用 Python 而不是 Bash 执行大部分脚本。
如果有人知道这些方法,我将不胜感激。请注意,我在这方面有些力不从心,可能需要比平时多解释一些。谢谢 :)