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.

Jankapunkt
sumber

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
muru
sumber
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" .) .
Zanna
sumber
Kadang-kadang saya hanya buta untuk yang sudah jelas. Terima kasih!
Jankapunkt