thư mục con chown với chủ sở hữu và nhóm thư mục hiện tại


8

Trong một tập lệnh bash, tôi muốn đệ quy đệ quy tất cả các thư mục con của một thư mục tùy ý với người dùng và chủ sở hữu nhóm của thư mục đã cho đó.

Cách tiếp cận của tôi là một cái gì đó giống như sử dụng stat -c "%U %G" .

Nhưng điều đó chỉ trả về một mô hình username[whitespace]groupname

Tất nhiên tôi chỉ có thể thử các công cụ khác nhau để thay thế khoảng trắng bằng một :nhưng tôi thích sử dụng một cách "tích hợp" hơn nếu có, để chỉ áp dụng quyền sở hữu hiện tại cho các thư mục phụ.

Câu trả lời:


6

chown, giống như chmod, có thể sử dụng một tài liệu tham khảo:

chown [OPTION]... --reference=RFILE FILE...

Change the owner and/or group of each FILE to OWNER and/or GROUP.  With
--reference, change the owner and group of each FILE to those of RFILE.

Vì thế:

chown --reference=/some/folder -R /some/folder

8

Bạn thực sự không cần phân tích đầu ra để xóa khoảng trắng - bạn đã thêm nó vào lệnh của mình! Bạn chỉ có thể định dạng nó theo ý muốn (với chowncú pháp dấu hai chấm) ở vị trí đầu tiên:

$ stat -c "%U:%G" .
zanna:unicorns

Vì vậy, chỉ cần chuyển nó chownvới thay thế lệnh:

chown -R $(stat -c "%U:%G" .) .

Đôi khi tôi chỉ mù quáng cho sự rõ ràng. Cảm ơn bạn!
Jankapunkt
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.