Что делает “-” средний (двойной тире)?

Вы взглянули на ccze? У Вас есть возможность настроить цвета по умолчанию некоторых ключевых слов с помощью опции -c или непосредственно в Вашем конфигурационном файле. Если Ваш экран очищается после колоризации необходимо использовать опцию -A.

Править:

Если действительно требуется раскрасить полную строку, красную, у Вас могла бы также быть попытка в следующем:

$ tail -f myfile.log | perl -pe 's/.*SEVERE.*/\e[1;31m$&\e[0m/g'

\e[1;31m даст Вам красный цвет. Если Вы хотели бы некоторый желтый, использовать \e[1;33m, и для зеленого использования \e[1;32m. \e[0m восстанавливает цвет обычного текста.

493
14.11.2019, 20:08
3 ответа

Более точно, двойной тире (--) используется в ударе встроенные команды и много других команд для выражения конца опций команды, после которых только приняты позиционные параметры.

Использование в качестве примера: позволяет говорят, что Вы хотите к grep файл для строки -v - обычно -v будет рассмотрен возможность для инвертирования соответствия, означающего (только показывают строки, которые не соответствуют), но с -- Вы можете grep для строки -v как это:

grep -- -v file
605
27.01.2020, 19:28
  • 1
    Прежде всего в Bash set встроенный, где это абсолютно необходимо. –  l0b0 18.10.2012, 12:03
  • 2
    -- работы для разделения опций от регулярных выражений в grep, но канонический путь состоит в том, чтобы использовать -e/--regexp. –  l0b0 18.10.2012, 12:05
  • 3
    @l0b0: шаблон для поиска обычно является одним из позиционных параметров, таким образом, он может соответствовать после --, хотя Вы корректны в замечании, что мой пример выше мог также быть записан как grep -e -v file (хотя это очень сбивает с толку). –  Guss 21.01.2015, 18:12
  • 4
    Не все bash встроенные команды принимают -- как конец маркера опции. [ и echo не делайте, например (одна из причин echo не может использоваться надежно). –  Stéphane Chazelas 21.03.2016, 12:06

Это отмечает конец параметра (опция) список.

44
27.01.2020, 19:28

В man bash мы можно прочитать в разделе Встроенные команды оболочки :

Если не указано иное, каждая встроенная команда, задокументированная в этом разделе как принимающая параметры, которым предшествуют - , принимает - в означает конец опций .

Встроенные функции : , true , false и test не принимают параметры и не обрабатывают - специально. Встроенные команды exit , logout , break , continue , let и shift принимать и обрабатывать аргументы, начинающиеся с - , не требуя - . Другие встроенные команды, которые принимают аргументы, но не указаны как принимающие параметры, интерпретируют аргументы, начинающиеся с - , как недопустимые параметры и требуют - для предотвращения такой интерпретации.

Обратите внимание, что echo не интерпретирует - как конец параметров.

43
27.01.2020, 19:28

Теги

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