为什么我得到
-bash: test: Permission denied
当我跑步时
sudo echo "xyz" > test
目录权限为:
drwxr-xr-x 3 root root 4096 2014-08-05 16:26
我使用 在目录中创建文件没有问题sudo
。但为什么我不能使用 sudo echo 进入它?
答案1
发生这种情况是因为您仅以echo
root 身份运行该命令。输出重定向由您的(非 root)shell 处理。为了避免这种情况,请不要使用 shell 的重定向并使用实际命令来处理写入:tee
。你想做的事情可以这样做:
echo "xyz" | sudo tee test > /dev/null
(如果不重定向输出,tee
也会输出xyz
到标准输出)