Вопрос: Как использовать wilcards в команде chown?


Мне нужно использовать подстановочные знаки для команды chown. Пример:

# chown app:demo /opt/app/users/*/demo

Но не работает. Что я могу сделать?


0
2018-03-15 13:51


Источник


Какая ошибка вы получаете? - jcbermu
chown: невозможно получить доступ к «/ opt / app / * / demo»: нет такого файла или каталога, но он существует. - e-info128
нет /users в сообщении об ошибке? - choroba
[root @ machine] # chown storage: storage_clientes_bitac -R "/ home / storage / storage / Empresa / * / Bitacoras" chown: no se puede acceder a «/ home / storage / storage / Empresa / * / Bitacoras»: не существует el fichero o el directorio - e-info128
Удалите двойные кавычки по пути каталога chown storage:storage_clientes_bitac -R /home/storage/storage/Empresa/*/Bitacoras - jcbermu


Ответы:


Вы включили свой шаблон в "double quotes", который предотвращать расширение имени файла (также называемый подстановка):

Двойные кавычки: «...» предотвращает некоторые замены, но позволяет другим. Всякая замена, начинающаяся со знака доллара $, выполняется, как и наследие ... (backtick). Также выполняется экранирование обратной косой черты. Не выполняется разбиение слов или расширение имени файла.,

Очевидно, решение состоит в том, чтобы выполнить вашу команду без кавычек, как отметил jcbermu:

chown storage:storage_clientes_bitac -R /home/storage/storage/Empresa/*/Bitacoras


Одна важная вещь, которую вы должны помнить, - это сообщения и сообщения об ошибках дословно когда задают вопросы. Не всем здесь нравится угадывать игры.


0
2018-03-21 16:48





Подстановочные знаки часто являются проблематичными, если не в базовом

Вы можете это сделать

find /opt/app/users/ -name demo -exec chown app:demo \{\} \;

0
2018-03-15 14:16



need / opt / app / users / * / demo /, но no / opt / app / users / * / demo2 / demo - e-info128
О, только один слой глубоко? пытаться find /opt/app/users/ -maxdepth 1 -type d -name demo -exec echo \{\} found\; чтобы убедиться, что это работает. Если он найдет нужные каталоги, измените эхо в команду chown - infixed
Я не могу попробовать. Может быть, это -maxdepth 2 тебе нужно. - infixed