Переменные не расширяются внутри регулярного выражения Awk /.../
. Вместо этого вы можете использовать строковую форму "^"pattern
для объединения оператора привязки с переменным значением шаблона.
Пр.
echo 'baz foobar' | awk -v pattern="foo" '$2 ~ "^"pattern {print $1}'
baz
Так как часы запускают команду с sh
по умолчанию(-x
говорят не запускать с sh
), вы можете инвертировать код возврата с помощью!
:
watch ! nslookup -b foo.bar
В зависимости от вашей оболочки и конфигурации вам может понадобиться !
в кавычках.
Мой быстрый обходной путь оказался вот таким:
while (1); do nslookup foo.bar > /dev/null && echo "\a"; sleep 2; done