Pretty-печать для сценария оболочки - PullRequest
7 голосов
/ 21 октября 2010

Я ищу что-то похожее на отступ , но для скриптов (bash). Только консоль, без окраски и т. Д.

Знаете ли вы один?

Ответы [ 4 ]

5 голосов
/ 21 октября 2010

Vim может делать отступы для скриптов bash.Но не переформатируйте их перед отступом.
Сделайте резервную копию вашего bash-скрипта, откройте его с помощью vim, введите gg=GZZ, и отступ будет исправлен.(Примечание для нетерпеливых: это перезаписывает файл, поэтому обязательно делайте эту резервную копию!)

Хотя некоторые ошибки с << (ожидая EOF в качестве первого символа в строке) например

РЕДАКТИРОВАТЬ: ZZ не ZQ

2 голосов
/ 08 апреля 2018

Немного опоздал на вечеринку, но похоже, что shfmt может помочь вам.

1 голос
/ 15 декабря 2016

В bash я делаю это:

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

это исключает комментарии и переопределяет скрипт "bash way".

Если у вас есть HEREDOCS в вашем скрипте, они будут разрушены sedв предыдущей функции.

Так что используйте:

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

Но все ваши скрипты будут иметь отступ в 4 пробела.

0 голосов
/ 21 октября 2010

Нашел это http://www.linux -kheops.com / doc / perl / perl-aubert / fmt.script .

Очень хорошо, единственное, что я вынул, это [...] -> тестовая замена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...