Chown подпапки с владельцем и группой текущей папки

8

В скрипте bash я хочу рекурсивно разделить все подпапки в произвольной папке с пользователями и владельцами группы данной папки.

Мой подход похож на использование stat -c "%U %G" .

Но это возвращает только образец username[whitespace]groupname

Конечно, я мог бы просто попробовать разные инструменты, чтобы заменить пробел на, :но я бы предпочел использовать более «встроенный» способ, если он есть, просто применить текущее владение к подпапкам.

Jankapunkt
источник

Ответы:

6

chownТипа chmodможно использовать ссылку:

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.

Так:

chown --reference=/some/folder -R /some/folder
Мур
источник
8

На самом деле вам не нужно анализировать вывод, чтобы удалить пробелы - вы добавили это в свою команду! Вы можете просто отформатировать его как угодно (с chownсинтаксисом двоеточия):

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

Так что просто передайте это chownс подстановкой команды:

chown -R $(stat -c "%U:%G" .) .
Занна
источник
Иногда я просто слеп для очевидного. Спасибо!
Jankapunkt