我正在启动一个网站,我想设置一个 Bash 单线,这样当有人点击该网站时,它会使用内部蜂鸣器发出哔声。
到目前为止,它正在使用以下内容。
tail -f access_log | while read x ; do echo -ne '\007' $x '\n' ; done
Tail 跟随 access_log 并转储到 STDOUT,一次获取 STDOUT 行,用 '\007' "internal beep hex code" 回显该行,然后完成...
这就像一个美女......每次点击都会显示来自日志的行并发出哔哔声......但是,它很快就变得很烦人,所以理想情况下我想tail -f /access/log
在它被输入之前过滤它,while
以便只读获取我关心的行. 我在想grep "/index.php"
这将是一个很好的指示游客......
这就是问题所在...
我可以...
tail -f access_log | while read x ; do echo -ne '\007' $x '\n' ; done
哔哔声,我可以做...
tail -f access_log | grep "/index.php"
并且页面显示时没有哔哔声,但是当我这样做时
tail -f access_log | grep "/index.php" | while read x ; do echo -ne '\007' $x '\n' ; done
没有任何反应,日志中没有一行,没有哔哔声。
我认为 grep 在某个地方搞砸了,但我不知道在哪里。我希望它是一个单行,而且我知道它确实应该在脚本中完成并且会更容易,但它并没有解释为什么我认为应该工作的上述内容不是。