unix date命令中bash变量前面的“@”是什么意思?

3yhwsihp  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(181)

我正在写一个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'

guicsvcw

guicsvcw1#

date命令中,@符号指示命令将以下内容视为seconds since epoch
在您的情况下,它将param $bckpT值视为自epoch以来的秒数

相关问题