Я могу думать о двух местах, которые я использовал :
в прошлом.
while :
do
shell commands
some exit condition
done
Это - навсегда-цикл.
function doSomethingStub {
:
}
Вставьте интерфейсную функцию, только для получения высокоуровневого потока корректного управления.
Одно использование я видел назад в Былые времена: Вместо a #!/bin/sh
(или безотносительно), строка, Вы видели бы a :
строка. Некоторые более старые Реальные ядра Unix или Реальные оболочки Unix использовали бы это, чтобы означать, что "я - сценарий оболочки, имею sh, выполняет меня". Как я вспоминаю, это было то, как раз в то самое время, когда csh предпринимал шаги как общую интерактивную оболочку.
На основе manatwork
блестящий мало "или ничто" не взламывает в другом вопросе, я предлагаю это, которое добавляет способность получить два цвета подсветки:
$ myprogram | \
GREP_COLORS='mt=01;32' egrep --color=always '\[OK\]|' | \
GREP_COLORS='mt=01;31' egrep --color=always '\[FAIL\]|'
Таким образом, Вы работаете grep
по выводу дважды, с другим GREP_COLORS
переменная среды каждый раз.
'01; 32' значения означают, что "полужирный зеленый" и другой означают "полужирный красный". См. статью Wikipedia о кодах ANSI для большего количества идей.
Увы, это требует GNU grep версия 2.5.3 или выше. Более старые версии GNU grep поддерживали другой механизм окраски, но те версии имеют ошибку, которая препятствует тому, чтобы Вы использовали функцию в конвейере несколько раз. BSD grep эмулирует более старый GNU grep окраска механизма, и это будет работать дважды в конвейере, но это вопит о "пустом подвыражении" из-за manatwork
взлом.
Можно удалить обратные косые черты в конце первых двух строк для создания всего этого одной строкой. Я только что разделил его здесь для ясности и играть по правилам с форматом страниц SE.
Можно использовать мультихвост или ccze для этого, оба позволяют конфигурациям описывать regexps для соответствия и цвета.
На основе ответа Warren Young я записал этот сценарий Python, который делает то же самое более изящно и с намного меньшим количеством ввода. Таким образом, это - то, как Вы использовали бы тот сценарий:
cat yourfile | himul '\[OK\]' '\[FAIL\]'
GREP_COLORS
, множественное число. Это использует более староеGREP_COLOR
метод только и тот метод имеют ошибку в нем, которая препятствует тому, чтобы он делал правильную вещь. Если Вы изменяете команду для использованияGREP_COLOR=32
и такой, это изменит цвет подсветки первого соответствия только. Если Вы передаете результат по каналу черезhexdump -c
Вы видите то добавление второгоegrep
команда действительно делает что-то, но это не легальный ANSI. Нижняя строка: необходимо обновитьgrep
заставить это работать правильно. – Warren Young 01.11.2012, 20:44GREP_COLOR
(исключительная) ошибка, даже при том, что функция удерживалась от использования, как только заменено. – Warren Young 01.11.2012, 23:27