Как прокомментировать, что мультилиния управляет в сценариях оболочки?

Это должно быть достаточно:

$ tput colors

цвета tput объяснили:

При рассмотрении страницы справочника you'ill замечают это:

SYNOPSIS
       tput [-Ttype] capname [parms ... ]

И...

   capname
          indicates the capability from the terminfo database.  When term‐
          cap  support is compiled in, the termcap name for the capability
          is also accepted.

termcap colors находится в terminfo базе данных, таким образом, можно попросить ее. Если у Вас есть нулевой статус выхода, то termcap компилируется в. Но если у Вас есть что-то как:

$ tput unknowntermcap
tput: unknown terminfo capability 'unknowntermcap'
$ echo $?
4

Это показывает, что unknowntermcap не существует. Так, это:

$ tput colors
8
$ echo $?
0

Шоу, что Ваша команда была правильной.

Другие полезные пути:

  • В C можно просто использовать isatty и видеть, является ли это TTY
  • Посмотрите - ли это простой терминал, выглядящий переменной $TERM

Удачи

19
21.03.2011, 17:21
6 ответов

Это могло бы быть опцией: сохраните команду и args в массиве, затем выполните его после

# build the command
cmd=( ls
        -F
      # -a   # comment out this option temporarily
        -l
    )
# $cmd is now an array with 3 elements

# execute it
"${cmd[@]}"
14
27.01.2020, 19:45

Я всегда перемещал прокомментированные сразу после команды.

command \
  --good-switch
# --bad-switch          with explanation here, if needed
3
27.01.2020, 19:45

Проблема - то, что наклонные черты удалены, прежде чем строка анализируется, таким образом, первая команда анализируется, как будто Вы записали command #--bad-switch --good-switch. Если у Вас есть действительно длинная последовательность команд, Вы могли бы, например, записать линию за линией блок комментария выше или ниже ее, объяснив каждого в свою очередь, или Вы могли сохранить параметры в переменной (хотя это часто дает головные боли заключения в кавычки со специальными символами).

0
27.01.2020, 19:45
  • 1
    Это, кажется, не имеет место. --good-switch интерпретируется как команда. А-ч –   21.03.2011, 17:47

См. ответ Цифрового Ross.

См. также вопрос, который я просто отправил, колотите много команду строки с комментариями после символа продолжения.

Это было бы полезной функцией. Жаль, что это не имеет стандартной поддержки.

0
27.01.2020, 19:45

комментарий тормозит цепочку связанных строк, поэтому самым простым решением будет переместить закомментированные строки в конец списка.

command \
  --good-switch \
  # --bad-switch \

Если вы не хотите менять порядок, вы можете использовать команду : (утилита colon, которая ничего не делает), чтобы сохранить связанные строки нетронутыми:

command \
  `: --bad-switch `\
  --good-switch \

Я тестировал с этим:

function command { 
  echo "num args:" $#;
}
0
27.01.2020, 19:45
$ echo abc `# comment` \
>      def `# comment 2` \
>      ghi
abc def ghi

$ echo abc `# comment` \
>      `#def # comment entire line` \
>      ghi
abc ghi

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

0
25.04.2020, 02:09

Теги

Похожие вопросы