bash命令中的@符号@含义是什么:date --date @ ...?

时间:2015-02-25 12:33:37

标签: bash

在互联网上搜索我发现只有' $ @'的解释,这意味着'扩展到位置参数'。但我自己也找不到关于@符号的任何信息。

我在接受这个问题的第三个片段中偶然发现了这个问题: https://superuser.com/questions/611538/is-there-a-way-to-display-a-countdown-or-stopwatch-timer-in-a-terminal

具体做法是:

date -u --date @$((`date +%s` - $date1)) +%H:%M:%S

1 个答案:

答案 0 :(得分:5)

在您显示的上下文中,@位于--date命令的date参数的开头:

date -u --date @$((`date +%s` - $date1)) +%H:%M:%S

在这种情况下,它意味着该参数应被视为自纪元以来的秒数,请参阅man date中的示例:

  

将纪元(1970-01-01 UTC)以来的秒数转换为日期

$ date --date='@2147483647'

或:

$ date -u -d @0
Thu Jan  1 00:00:00 UTC 1970

@的含义仅由date实用程序定义,而不是由bash定义。