![在 stdout 中美观地一次性显示所有 Nginx 日志的简短语法](https://linux22.com/image/716425/%E5%9C%A8%20stdout%20%E4%B8%AD%E7%BE%8E%E8%A7%82%E5%9C%B0%E4%B8%80%E6%AC%A1%E6%80%A7%E6%98%BE%E7%A4%BA%E6%89%80%E6%9C%89%20Nginx%20%E6%97%A5%E5%BF%97%E7%9A%84%E7%AE%80%E7%9F%AD%E8%AF%AD%E6%B3%95.png)
这就是我如何在标准输出中美观地(带有标题和间距)一次性显示所有 Nginx 日志,以便于调试。
输入:
printf '\n\n General: \n\n'; nginx -t; printf '\n\n Access: \n\n'; tail /var/log/nginx/access.log; printf '\n\n Errors: \n\n'; tail /var/log/nginx/error.log
输出:
General:
...
Access:
...
Errors:
...
正如您所见,该命令相当长或“重”。
有没有更短(正式?)的方法来实现这一点?
答案1
我没有看到任何办法命令更短,但你可以把它们包裹起来bash 函数您可以稍后使用函数名称执行该命令,而不必再次粘贴(或键入!)该命令。
例如,您可以在其中放置一个函数.bashrc
:
nginxlogs () {
printf '\n\n General: \n\n'
nginx -t
printf '\n\n Access: \n\n'
tail /var/log/nginx/access.log
printf '\n\n Errors: \n\n'
tail /var/log/nginx/error.log
}
现在,当您nginxlogs
从 bash shell 运行时,所有内容都会出现。