Как использовать команду watch с конвейерной цепочкой команд / программ

Вы можете дождаться завершения первого спауна, следуя за ним

expect eof

, или, если хотите, вы можете захватить и проверить код возврата

catch wait result
if [lindex $result 3] { send_user "fail\n";  exit 1 }
send_user "ok\n"
56
25.10.2016, 20:42
3 ответа

Если вы также хотите вывести список всех файлов в подкаталогах, вы можете использовать команду find с опцией exec.

watchбудет обновляться каждые 30 секунд, а findбудет искать все *файлы.log в текущем каталоге (включенных подкаталогах )и распечатывать имена файлов и их последние 10 строк:

watch -n30 'find. -name "*.log" -print -exec tail -n10 {} \; '
3
27.01.2020, 19:33

Используйте комбинацию одинарных(')и двойных кавычек("). Например:

watch -n 1 "links -dump 127.0.0.1/server-status | grep -e '\S' -Fe 'www.'"
5
14.04.2020, 09:21

Самый простой способ — использовать встроенную опцию -x,

.
watch -n 5 -x tail -4 output.log.  
watch -n 2 -x ls

Первый, например. будет отображать последние 4 строки файла output.log каждые 5 секунд, вторая, например, содержимое списка каждые 2 секунды.

0
27.07.2020, 15:13

Теги

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