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

use*_*730 6 bash

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

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

特别:

date -u --date @$((`date +%s` - $date1)) +%H:%M:%S
Run Code Online (Sandbox Code Playgroud)

Lev*_*sky 5

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

date -u --date @$((`date +%s` - $date1)) +%H:%M:%S
Run Code Online (Sandbox Code Playgroud)

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

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

$ date --date='@2147483647'
Run Code Online (Sandbox Code Playgroud)

要么:

$ date -u -d @0
Thu Jan  1 00:00:00 UTC 1970
Run Code Online (Sandbox Code Playgroud)

这个含义@仅由date实用程序定义,而不是由实用程序定义bash.