如何在 chown 命令中使用通配符?

如何在 chown 命令中使用通配符?

我需要在 chown 命令中使用通配符。例如:

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

我收到以下错误:

chown: can not access "/opt/app/users/*/demo" ': No such file or directory

但不起作用。我该怎么办?

答案1

您已将您的图案"double quotes"附在防止文件名扩展(也叫通配符):

双引号:“...”可阻止某些替换,但允许其他替换。所有以美元符号 $ 开头的替换都会执行,传统...(反引号)命令替换也是如此。反斜杠转义也会执行。不进行单词拆分或文件名扩展

解决方案显然是在不带引号的情况下运行命令,正如 jcbermu 指出的那样:

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


你应该记住的一件重要的事情是逐字发布命令和错误消息问问题时。这里不是每个人都喜欢猜谜游戏。

答案2

当通配符不在基本名称中时,通常会产生问题

你可以这样做

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

相关内容