![如何在 bash 命令中输入日期作为选项?](https://linux22.com/image/58540/%E5%A6%82%E4%BD%95%E5%9C%A8%20bash%20%E5%91%BD%E4%BB%A4%E4%B8%AD%E8%BE%93%E5%85%A5%E6%97%A5%E6%9C%9F%E4%BD%9C%E4%B8%BA%E9%80%89%E9%A1%B9%EF%BC%9F%20.png)
我想输入当前日期(最好采用 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')"