我正在研究一个 bash 脚本,该脚本检查是否在过去 X 天内进行了备份。该脚本必须在 linux 和 macos 上运行。我的问题是,当它检查它是否在 linux 或 macos 系统上运行时,我不明白linux 部分上的 'bckpT' 变量之前的'@'是什么意思。
case "$OS" in
DARWIN)
lastBackup=$($DATE -u -r $bckpT +%F)
;;
LINUX)
lastBackup=$($DATE -d @$bckpT +%F)
;;
WIN)
$ECHO "No script for WIN"
;;
*)
help
;;
esac
当没有'@'时,输出为:
/usr/bin/date: 无效日期 '1647907200'
在date
命令中,@
符号告诉命令将以下内容视为seconds since epoch
在您的情况下,它将参数$bckpT
值视为自纪元以来的秒数
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句