我用下面的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'之類的工具。 –