当您尝试修改文件而没有写权限时,会出现错误:
> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Sudoing无济于事,因为它以root身份运行命令,但是shell仍会处理重定向标准输出并以您自己的方式打开文件:
> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
除了以root用户身份打开Shell并以这种方式操作文件之外,是否有一种简单的方法可以将stdout重定向到您没有写入权限的文件?
> sudo su
# echo test > /tmp/foo
chown
更改过所有者;这只是一个例子