如何在bash命令中输入日期作为选项?

Mos*_*ess 2 bash date output

我想输入当前日期(最好采用 YYYY-MM-DD hh:mm 格式)作为 bash 脚本中的一个选项:

我试过

/usr/local/bin/growlnotify -t "PMK" -m date
Run Code Online (Sandbox Code Playgroud)

但随后变量 -m 在输出中插入字符串“date”。如何告诉脚本它必须使用“date”命令的输出值?

(我使用的是 MacOS X 10.6,growlnotify 命令用于显示一个带有 2 个字符串(“PMK”和第二个我想获取当前日期/时间的字符串)的弹出窗口 http://growl.info / )

Ant*_*hon 5

date作为另一个命令的参数写入不会让您获得该命令的输出,只会获得您键入的字符串。

在 bash 中,您可以通过将命令的结果包含在$( ). 这使得您需要指定要从中获取的表单(格式)date,并且可以从man date(FORMAT 部分)中推导出来:

date '+%Y-%m-%d %H:%M'
Run Code Online (Sandbox Code Playgroud)

这将为您提供 24 小时时钟(正如科斯塔斯指出的那样,还有其他方法可以获得此结果,但通过这种方式您可以轻松更改年份表示之间的字符,例如德国人经常想要的/)。

完整的调用将是(不需要引用PMK,但不要忘记$( ...)):

/usr/local/bin/growlnotify -t PMK -m "$(date '+%Y-%m-%d %H:%M')"
Run Code Online (Sandbox Code Playgroud)