我想确定在 MacOS 或 Debian 等上最近 x 秒内是否修改了文件。
is_file_older_than() {
seconds="$1"
file="$2"
echo "The file $file"
modified_secs="$(date -r "$file" +%s)"
current_secs="$(date +%s)"
diff="$(expr "$current_secs" - "$modified_secs")"
if [[ "$diff" -gt "$seconds" ]]; then
return 0
fi
return 1
}
if is_file_older_than 3 "$BASH_SOURCE"; then
echo 'old'
else
echo 'young'
fi
但我很难验证它是否 100% 工作,以及是否有任何不可靠的地方 - 看起来它正在工作