解决 Linux 执行 sudo echo xxx >> 命令提示权限不够的方法
想要将文本追加到文件 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'
发表评论