我需要使用csh阻止脚本,以使行出现在日志文件中。
到目前为止,我已经尝试过:
while ( ! grep 'run completes with' run.log )
sleep 10
end
但是我明白了
while: Expression Syntax.
这不是期望的结果。我尝试使用/不使用()
,但没有成功。
我已经看到了使用tail -f
的解决方案,但我不喜欢其中的许多解决方案最终都将拖尾处理挂起。
是否有单行(或几行)的解决方案而没有尾巴?
谢谢。
答案 0 :(得分:1)
<snark>
与大多数 real 外壳(sh,bash等)</snark>
不同,如果需要,您需要使用{
和}
使用命令的成功/失败状态作为条件。
这应该有效:
while ( ! { grep 'run completes with' run.log } )
sleep 10
end
除非您确实想查看grep -q
命令的输出,否则请考虑使用grep
。
(请注意,这每10秒会重新扫描整个run.log
文件,如果文件很大,可能会出现问题。)