我正在学习如何更改文件的权限。在我的macOS系统中,我希望使用chmod --reference=reference-file file命令将权限从一个文件复制到另一个文件,但是它一直在返回
chmod: illegal option -- -任何帮助都将不胜感激。
发布于 2020-10-07 06:53:20
chmod on macOS不是GNU chmod (通常在Linux系统上找到),因此不支持特殊的非标准GNU“长选项”。
在macOS上,您仍然可以通过Homebrew管理器访问GNU chmod。一旦您安装了gchmod包,该实用程序就可以使用
brew install coreutils发布于 2021-04-10 23:20:29
如果您的chmod版本不支持--reference,并且不希望安装其他软件,则可以使用stat获得引用文件的权限,并使用该权限。不幸的是,stat本身在不同的操作系统/版本之间是无可救药的不一致。在macOS (和NetBSD,可能还有其他BSD)上,您可以使用:
chmod "$(stat -f "%Mp%Lp" referencefile)" file如果您有GNU版本的stat (而且由于某种原因没有GNU的chmod),那么应该是:
chmod "$(stat -c "%a" referencefile)" file在其他OSes上..。检查man 1 stat,看看当地方言是什么。
https://unix.stackexchange.com/questions/613292
复制相似问题