我有一个脚本,它使用 find 和 chgrp/chmod
递归地设置某些权限并在 $1
为了提取这个目标目录的组,我使用
mygrp = ${stat -c %G $mydir}
但是在 bash
下执行,这会产生一个错误:
${stat -c %G $mydir}: bad substitution
简单地运行命令
stat -c %G $mydir
正确提取组,因为我似乎无法将其放入 mygrp
变量中。
最佳答案
你应该一直在做
$(stat -c %G "$mydir")
代替
${stat -c %G $mydir}
您应该将 $mydir
放在双引号中,因为目录名称可能是非标准的,比如它们包含换行符。如果这条线是
$(stat -c %G $mydir)
然后:
$ ./your_script_name "dir
37190290"
会失败:
stat: cannot stat `dir': No such file or directory
stat: cannot stat `37190290': No such file or directory
关于linux - 将 stat 命令输出分配给变量时的错误替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37190290/