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

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

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

我试过

/usr/local/bin/growlnotify -t "PMK" -m date

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

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

答案1

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

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

date '+%Y-%m-%d %H:%M'

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

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

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

相关内容