amp*_*ent 11 permissions sudo io-redirection
为什么我得到
-bash: test: Permission denied
Run Code Online (Sandbox Code Playgroud)
当我跑
sudo echo "xyz" > test
Run Code Online (Sandbox Code Playgroud)
目录权限为:
drwxr-xr-x 3 root root 4096 2014-08-05 16:26
Run Code Online (Sandbox Code Playgroud)
我在目录中使用sudo. 但是为什么我不能 sudo 回声呢?
小智 16
发生这种情况是因为您仅以echoroot 身份运行命令。输出重定向由您的(非根)shell 处理。为避免这种情况,请不要使用 shell 的重定向并使用实际命令来处理写入:tee. 你想做的事情可以这样做:
echo "xyz" | sudo tee test > /dev/null
Run Code Online (Sandbox Code Playgroud)
(如果你不重定向输出,tee也会输出xyz到标准输出)