代码之家  ›  专栏  ›  技术社区  ›  Gert Gottschalk

csh行等待文件中的文本行

  •  0
  • Gert Gottschalk  · 技术社区  · 8 年前

    到目前为止,我已经尝试:

    while ( ! grep 'run completes with' run.log )
      sleep 10
    end
    

    但我明白了 while: Expression Syntax.

    () 但是没有成功。

    我见过使用 tail -f 但我不喜欢他们中的许多人最终把尾部过程挂在一边。

    谢谢

    1 回复  |  直到 8 年前
        1
  •  1
  •   Keith Thompson    8 年前

    <snark> 真实的 shell(sh、bash等) </snark> ,您需要使用 { } 如果要使用命令的成功/失败状态作为条件。

    这应该起作用:

    while ( ! { grep 'run completes with' run.log } )
      sleep 10
    end
    

    考虑使用 grep -q 除非你真的想看到 grep

    run.log 每10秒归档一次,如果文件太大,可能会出现问题。)