subfolder chown dengan pemilik dan grup folder saat ini


8

Dalam skrip bash saya ingin secara rekursif menandai semua subfolder dari folder arbitrer dengan pemilik pengguna dan grup dari folder yang diberikan itu.

Pendekatan saya adalah sesuatu seperti menggunakan stat -c "%U %G" .

Tapi itu hanya mengembalikan pola username[whitespace]groupname

Tentu saja saya bisa mencoba alat yang berbeda untuk mengganti spasi dengan :tetapi saya lebih suka menggunakan cara yang lebih "built-in" jika ada, untuk hanya menerapkan kepemilikan saat ini ke sub folder.

Jawaban:


6

chown, seperti chmod, dapat menggunakan referensi:

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.

Begitu:

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

8

Anda sebenarnya tidak perlu mengurai output untuk menghapus spasi putih - Anda menambahkannya dalam perintah Anda! Anda bisa memformatnya sesuka Anda (dengan chownsintaks usus) di tempat pertama:

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

Jadi sampaikan saja chowndengan substitusi perintah:

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

Kadang-kadang saya hanya buta untuk yang sudah jelas. Terima kasih!
Jankapunkt
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.