bash 变量之前的“@”是什么意思?

安德烈·特谢拉

我正在研究一个 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章