watch для файловой системы
Отслеживание изменений файлов и выполнение кода Nu при их появлении.
Подпись
> watch {flags} (path) (closure)
Флаги
-
--debounce-ms, -d {int}: Задержка изменений на заданное количество миллисекунд (по умолчанию: 100). Настройте, если обнаружите, что отдельные записи регистрируются как несколько событий -
--glob, -g {string}: Сообщать только о изменениях для файлов, соответствующих этому шаблону glob (по умолчанию: все файлы) -
--recursive, -r {bool}: Отслеживать все каталоги внутри<path>рекурсивно. Будет проигнорировано, если<path>является файлом (по умолчанию: true) -
--verbose, -v: Режим подробных сообщений (по умолчанию: false)
Параметры
-
path: Путь к отслеживаемому объекту. Может быть файлом или каталогом -
closure: Некоторый код Nu для выполнения всякий раз, когда файл изменяется. Замыканию будут переданыoperation,path, иnew_path(только для переименований) аргументы в указанном порядке
Типы входных/выходных данных:
| вход | выход |
|---|---|
| ничего | таблица |
Примеры
Запустить cargo test всякий раз, когда изменяется файл Rust
>watch.--glob=**/*.rs {|| cargotest }
Отслеживать все изменения в текущем каталоге
>watch. { |op, path, new_path| $"($op) ($path) ($new_path)"}
Регистрировать все изменения в каталоге
>watch/foo/bar { |op, path| $"($op) - ($path)(char nl)"|save--appendchanges_in_bar.log }
Примечание: если вы хотите выполнить команду каждые N единиц времени, это можно сделать с помощью цикла и sleep
>loop { command;sleepduration }
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/watch.html