Как инвертировать «часы -b»?

Переменные не расширяются внутри регулярного выражения Awk /.../. Вместо этого вы можете использовать строковую форму "^"patternдля объединения оператора привязки с переменным значением шаблона.

Пр.

echo 'baz foobar' | awk -v pattern="foo" '$2 ~ "^"pattern {print $1}'
baz
0
13.10.2019, 11:22
2 ответа

Так как часы запускают команду с shпо умолчанию(-xговорят не запускать с sh), вы можете инвертировать код возврата с помощью!:

watch ! nslookup -b foo.bar

В зависимости от вашей оболочки и конфигурации вам может понадобиться !в кавычках.

2
28.01.2020, 02:29

Мой быстрый обходной путь оказался вот таким:

while (1); do nslookup foo.bar > /dev/null && echo "\a"; sleep 2; done
0
28.01.2020, 02:29

Теги

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