我想检查一个文件(在本例中为/ var/log/messages)是否已经在循环中使用'stat'命令进行了更新。然而,代码永远不会退出循环,并因某种原因继续前进。检查一个文件是否已经更新
#!/bin/bash
check='/var/log/messages'
THEN="stat -c %z ${check}"
NOW="stat -c %z ${check}"
while [ $"NOW" == $"THEN" ]
do
echo "$NOW"
if [ $"NOW" != $"THEN" ]; then
echo "${check} has been updated."
if
done
对此有何想法?有更简单的方法来查看/ var/log/messages是否已更改?
看一看http://www.shellcheck.net/ – Cyrus 2014-11-03 19:26:01
你还需要在'while'循环内更新'NOW'的值(至少)。对?祝你好运。 – shellter 2014-11-03 19:33:11
另外,你应该在你的循环中使用'sleep'来延迟一段时间。 – 2014-11-03 23:30:57