shell脚本的漂亮打印

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本的漂亮打印相关的知识,希望对你有一定的参考价值。

我正在寻找类似于indent但是(bash)脚本的东西。仅限控制台,无着色等

你知道吗?

答案

Vim可以缩进bash脚本。但是在缩进之前不要重新格式化它们。 备份你的bash脚本,用vim打开它,键入gg=GZZ并缩进将被更正。 (注意不耐烦:这会覆盖文件,所以一定要做备份!)

虽然,有些错误与<<(期待EOF作为一行的第一个字符),例如

编辑:ZZ不是ZQ

另一答案

派对有点晚了,但看起来shfmt可以为你做这个伎俩。

另一答案

在bash中我这样做:

reindent() {
source <(echo "Zibri () {";cat "$1"; echo "}")
declare -f Zibri|head --lines=-1|tail --lines=+3 | sed -e "s/^ssss//"
}

这消除了评论和重新编写脚本“bash方式”。

如果您的脚本中有HEREDOCS,则它们会被前一个函数中的sed破坏。

所以使用:

reindent() {
source <(echo "Zibri () {";cat "$1"; echo "}")
declare -f Zibri|head --lines=-1|tail --lines=+3"
}

但是你的所有脚本都有4个空格缩进。

另一答案

发现这个http://www.linux-kheops.com/doc/perl/perl-aubert/fmt.script

非常好,我拿出的一件事就是[...] - >测试替换。

以上是关于shell脚本的漂亮打印的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行漂亮地打印 XML?

默认在 MongoDB shell 中打印漂亮

代码片段:Shell脚本实现重复执行和多进程

shell 脚本 片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

为何执行shell脚本的时候,会把脚本的内容都打印出来而且每行前边都加了‘+’?