想要将文本追加到文件 test.txt 里,于是使用 sudo echo xxx >> test.txt 命令,结果出现了权限不够。
尴尬,搜索问题解决吧:
$ sudo echo xxx >> test.txt
bash: test.txt 权限不够
问题原因:
出现此问题的原因是文件 test.txt 是 root 用户所有,普通用户无写权限,而 sudo 命令只让 echo 命令有 root 权限,而重定向命令 >> 不具有该权限,或者说 root 权限没有“传递”到重定向命令 >>,因此也就无法将输出文本重定向到 root 用户的文件 test.txt。
解决办法:
使用 bash -c 命令。该命令可以让 bash 运行整条字符串命令,前加 sudo 使得整条命令运行时具有 root 权限。
sudo bash -c 'echo xxx >> test.txt'
👋 感谢您的观看!
© 版权声明
THE END