Chmod
‘chmod –reference=<reference file> <file>’ 在 macOS 上返回 ‘chmod: 非法選項 – -’
我正在學習如何更改文件的權限。在我的 macOS 系統上,我想使用該
chmod --reference=reference-file file
命令將權限從一個文件複製到另一個文件,但是它不斷返回chmod: illegal option -- -
任何幫助將不勝感激。
macOS 上的
chmod
不是 GNUchmod
(通常在 Linux 系統上找到),因此不支持特殊的非標準 GNU“長選項”。
chmod
在 macOS 上,您仍然可以通過 Homebrew 包管理器訪問 GNU 。該實用程序在gchmod
您安裝coreutils
軟體包後可用brew install coreutils
如果您的版本
chmod
不支持--reference
並且您不想安裝其他軟體,您可以使用stat
獲取參考文件的權限,並使用它。不幸的是,stat
它本身在不同的作業系統/版本之間是完全不一致的。在 macOS(以及 NetBSD 和可能的其他 BSD)上,您可以使用:chmod "$(stat -f "%Mp%Lp" referencefile)" file
如果你有 GNU 版本
stat
(並且由於某種原因沒有 GNU 版本chmod
),它會是:chmod "$(stat -c "%a" referencefile)" file
在其他作業系統上…檢查
man 1 stat
並查看當地方言是什麼。