鹿泽鹿泽  2024-06-12 10:57:11 鹿泽笔记 隐藏边栏  0 

想要将文本追加到文件 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'
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505