inotifywait проблема пространства имен
Я следую за каталогом / home и его подкаталогами с помощью скрипта bash ниже. но когда имена каталогов пустые, скрипт работает неправильно.
#!/bin/bash
inotifywait -m -r -e moved_to -e create "/home" | while read path action file
do
echo "$path$file -> $action"
done
Простой 1
/home/new_folder1/new_text.txt
вывод сценария
/home/new_folder1 -> CREATE,ISDIR
/home/new_folder1/new_text.txt -> CREATE
Простые 2
/ home / new folder1 / new text.txt
вывод сценария
/home/new folder1 -> CREATE,ISDIR
/home/newCREATE new text.txt -> folder1/
извините, плохой английский
1 ответ
Решение
Укажите пользовательский формат, который помещает оба компонента пути в крайнее правое поле:
inotifywait --format="%e %w%f" | while read -r action fullpath