为什么 root 不能写入它拥有并具有写入权限的文件?

Why cannot root writes on a file that it owns and has write access to?

我需要写信给 a.txt。该文件由具有读写访问权限的 root 所有。但我仍然不能用 sudo 覆盖它。为什么?

% ls -l
total 8
-rw-r--r--  1 root  staff  6 Mar 24 00:30 a.txt

% sudo echo "hi" >> a.txt
zsh: permission denied: a.txt

重定向发生在命令 运行 之前,即使用原始用户。

解决方法:

sudo sh -c 'echo "hi" >> a.txt'