我用下面的bash脚本,但得到以下傻错误的bash脚本:与路径名未能
Fixing perms on /Volumes/Volume-B/IMAGES/Prostock scans/
chmod: Failed to set ACL on file '/Volumes/Volume-B/IMAGES/Prostock': No such file or directory
chmod: Failed to set ACL on file 'scans/': No such file or directory
chmod: Unknown tag type 'inherited'
这里是我的脚本:
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin export PATH
DEST=/Volumes/Volume-B/IMAGES/Prostock\ scans/
echo Fixing perms on $DEST
chmod -R +a "user:administrator allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" $DEST
chmod -R +a "user:icadmin inherited allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" $DEST
echo Done!
注意我裹$ DEST在“Prostock”之后带有和不带反斜杠的单引号和双引号,并得到相同的错误。
建议最受赞赏!
丹
设置双引号 – suspectus
一旦你纠正一个错误优秀(周围没有'$ DEST'报价,这应该是'“$ DEST”'...或者,如果你是以下约定和使非环境变量小写,'“$ dest”'),这成为一个关于OS X的chmod的问题,而不是关于bash。 –
......要清楚 - “没有这样的文件或目录”错误(其中有两个)是由缺少引号引起的; “未知标记类型”是关于OS X的chmod版本的问题,因为大多数操作系统完全不支持通过chmod命令的ACL,而是使用诸如'satfacl'之类的工具。 –