Что такое правильный отступ для скриптов bash? - PullRequest
6 голосов
/ 19 февраля 2010

Какой правильный отступ для скрипта bash? Как обезьяна java / c ++ я неукоснительно делаю отступ в своем коде. Но, похоже, вы не можете сделать отступ для этого кода:

#! /bin/bash

if [ $# = 0 ]
then
        # there was no arguments => just do to standard output.
        echo "there are no parameters"
else
cat << EOF
==========================================================
==========================================================
==========================================================
==========================================================
DESCRIPTION:

$1
----------------------------------------------------------

EOF
fi

При отступе он не распознает EOF, а если вы просто удалили EOF (сбивает с толку), он печатает отступ

Q: Какое правильное отступление для скриптов bash?

Ответы [ 4 ]

19 голосов
/ 19 февраля 2010

С помощью bash (как минимум 3.2) и ksh (не знаю о других) вы можете сделать отступ для документов here с помощью <<-, и начальные вкладки будут удалены (не пробелы, только вкладки), например,

if [...]; then
    cat <<-EOF
        some text
    EOF
fi
4 голосов
/ 19 февраля 2010

да, вы можете "сделать отступ", используя <<- (см. Справочную страницу bash здесь документы)

if [ $# = 0 ]
then
        # there was no arguments => just do to standard output.
        echo "there are no parameters"
else
    cat <<-EOF
    ==========================================================
    ==========================================================
    ==========================================================
    ==========================================================
    DESCRIPTION:

    $1
    ----------------------------------------------------------
    EOF
fi
2 голосов
/ 19 февраля 2010

Это не проблема отступа bash, это проблема здесь-файла. Метка, которую вы указываете после <<, т.е. EOF, должна появляться одна в строке, без пробелов в начале или в конце.

Для самого файла здесь он используется как набранный, включая отступ.

0 голосов
/ 19 февраля 2010

Мувичиэль верен.

Вы можете поместить текст этого файла в отдельный файл, если хотите сохранить отступ. Однако вам придется самостоятельно выполнить замену.

...