在别名中使用日期时间表达式

在别名中使用日期时间表达式

我有一个带日志记录功能的应用程序,我通常使用

tail -f /var/myapp/logs/2021-04-20/main-log-2021-04-20.log

如何为该命令创建别名并使用当前日期执行它?

答案1

您可以使用该date命令以所需的格式输出当前日期:

$ date +%F
2021-03-21

(请参阅man date可用格式列表)

因此,您可以使用date命令替换来构造如下命令:

tail -f /var/myapp/logs/$(date +%F)/main-$(date +%F).log

别名扩展在任何其他 shell 扩展之前执行,因此别名扩展的结果将受到参数扩展的影响,这意味着您可以对上述命令进行别名并获得预期的命令:

alias foo='tail -f /var/myapp/logs/$(date +%F)/main-$(date +%F).log'

测试完毕后,您可以将该alias行(当然,您可以将别名称为...以外的其他名称foo)添加到您的.bashrc.bash_aliases文件中,以便随时使用它。

相关内容