sudo echo "something" >> /etc/privilegedFile不起作用

16 浏览
0 Comments

sudo echo "something" >> /etc/privilegedFile不起作用

这个问题已经有答案了

我如何使用sudo将输出重定向到一个我没有写入权限的位置?[已关闭]

这是一个相当简单的问题,至少在Linux中的sudo权限方面看起来应该这样,

有很多时候我只是想将一些内容添加到/etc/hosts或类似的文件中,但最终由于即使在root下也不允许使用>>>两个命令,而无法实现。

有没有一种方法可以让这个问题得以解决,而不必像susudo su那样进入root权?

admin 更改状态以发布 2023年5月21日
0
0 Comments

问题在于shell进行了输出重定向,而不是sudo或echo,因此这是以您的常规用户身份执行的。尝试以下代码片段:

sudo sh -c "echo 'something' >> /etc/privilegedfile"

0
0 Comments

使用tee --appendtee -a

echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list

注意避免引号嵌套。

为避免向控制台打印数据,将输出重定向到 /dev/null。

echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list > /dev/null

记得使用-a/--append标志!只使用tee会像>一样覆盖您的文件。tee -a会像>>一样在文件末尾写入。

0