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

e-i*_*128 1 bash chown

我需要在 chown 命令上使用通配符。例子:

# chown app:demo /opt/app/users/*/demo
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

chown: can not access "/opt/app/users/*/demo" ': No such file or directory
Run Code Online (Sandbox Code Playgroud)

但不起作用。我能做些什么?

Dmi*_*yev 5

您已将模式括在 中"double quotes",这可以防止文件名扩展(也称为globbing):

双引号:“...”阻止某些替换,但允许其他替换。执行以美元符号 $ 开头的每个替换,就像旧版...(反引号)命令替换一样。还执行反斜杠转义。不执行分词或文件名扩展

解决方案显然是运行不带引号的命令,就像 jcbermu 指出的那样:

chown storage:storage_clientes_bitac -R /home/storage/storage/Empresa/*/Bitacoras
Run Code Online (Sandbox Code Playgroud)


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