2010-10-21 134 views
6

我正在寻找与indent类似的东西,但对于(bash)脚本。仅控制台,不着色等。漂亮的外壳脚本打印

你知道吗?

+0

另外考虑把你的答案在[这个更一般的问题](http://stackoverflow.com/questions/3923301/what-applications-do-you-know-of-that-c​​an-reformat-code) – Benoit 2010-10-21 13:19:01

回答

5

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

虽然,一些错误与<<(期待EOF作为第一个字符在一条线上)

编辑:ZZ不ZQ

+0

啊! +1,如果我可以的话。 – Jamie 2012-09-11 03:00:31

0

在bash我这样做:

source <(echo "Zibri() {";cat script_to_be_reindented.sh; echo "}") 
declare -f Zibri| cut -c 5-|head --lines=-1|tail --lines=+3 

这消除了意见和重新缩进脚本 “bash的方式。” 如果脚本包含here文档,它不会工作,但如果你这样做:

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

它会与任何脚本工作,但整个脚本将由4个空格缩进。随意修改,但在脚本中引用我的名字并发布! :D