2010-10-21 76 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