我正在写一个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/日期:无效日期'1647907200'
1条答案
按热度按时间guicsvcw1#
在
date
命令中,@
符号指示命令将以下内容视为seconds since epoch
在您的情况下,它将param
$bckpT
值视为自epoch以来的秒数