如果文件在我阅读后被修改,我需要签入脚本(另一个应用程序可以在两者之间修改它)。根据 bash 手册,有一个“-N”测试应该报告自上次读取以来文件是否被修改。我在一个小脚本中尝试过,但它似乎不起作用。
#!/bin/bash
file="test.txt"
echo "test" > $file
cat $file;
if [ -N $file ];
then echo "modified since read";
else
echo "not modified since read";
fi
我还尝试了另一种方法,方法是触摸另一个文件并使用
if [ "file1" -nt "file2 ];
但这仅适用于秒精度,在极少数情况下可能还不够。是否有任何其他 bash 内置解决方案可以解决此问题,或者我确实需要使用 diff 或 md5sum?