inotifywait vấn đề không gian tên


1

Tôi theo thư mục "/ home" và các thư mục con của nó với tập lệnh bash bên dưới. nhưng khi tên thư mục trống, tập lệnh không hoạt động chính xác.

#!/bin/bash
inotifywait -m -r -e moved_to -e create "/home"  | while read path action file 
do
    echo "$path$file -> $action"
done

Đơn giản 1

/home/new_folder1/new lòng.txt

đầu ra kịch bản

/home/new_folder1 -> CREATE,ISDIR
/home/new_folder1/new_text.txt -> CREATE

Đơn giản 2

/ home / thư mục mới1 / text.txt mới

đầu ra kịch bản

/home/new folder1 -> CREATE,ISDIR
/home/newCREATE new text.txt -> folder1/

xin lỗi tiếng anh xấu

Câu trả lời:


2

Chỉ định một định dạng tùy chỉnh đặt cả hai thành phần đường dẫn vào trường ngoài cùng bên phải:

inotifywait  --format="%e %w%f" | while read -r action fullpath

Vâng, nó hoạt động theo cách đó trơn tru. cảm ơn bạn rất nhiều
ihk

1
Lưu ý: nếu mục đích duy nhất của while read là để echo ở định dạng khác (và không phân tích thêm) sau đó --format="%w%f -> %e" sẽ làm điều này, không có vòng lặp.
Kamil Maciorowski
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.