'tail -f' на определенное время [дубликат]

Я бы использовал Ctrl + Alt + _ , который копирует предыдущее слово ( copy-prev-word виджет). После копирования вы можете использовать Backspace для редактирования расширения копии.

Или используйте Ctrl + W , чтобы удалить его целиком. По умолчанию Ctrl + W удаляет целые слова (определенные как alnums + $ WORDCHARS), но вы можете изменить поведение по запросу с помощью виджета select-word-style .

В ~ / .zshrc :

autoload select-word-style
zle -N select-word-style
bindkey '\eW' select-word-style

Затем вы можете выбрать другой стиль слова с помощью Alt + Shift + W .Вы можете использовать стиль слова bash (только слова alnums) здесь (ссылка на то, как bash виджеты слов кроме Ctrl + W как Alt + B , Alt + D ... рассмотрим слов ).

24
19.09.2018, 05:13
2 ответа

Для полноты картины без timeoutможно сделать так:

#!/bin/sh
tail -f /var/log/syslog &
me=$!
trap "kill $me" INT TERM HUP QUIT EXIT
sleep 20

Строка trapгарантирует, что при завершении скрипта или родительской оболочки (мы достигаем конца скрипта (EXIT ), Ctrl -C (INT ), отправка SIGTERM через kill, выход из оболочки (HUP )и т. д. ), затем tailуничтожается.

20
27.01.2020, 19:40

С тайм-аутом GNU:

timeout 20 tail -f /path/to/file
55
27.01.2020, 19:40

Теги

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