使用 echo 命令在文件中插入文本

使用 echo 命令在文件中插入文本

我正在尝试通过以下方式在文件中插入一些文本

sudo echo "abc-abc/abc/abc" >> /etc/portage/make.conf

但它给了我错误权限被拒绝

虽然我使用的是 sudo 命令

答案1

在该命令行中,您的 shell 打开/etc/portage/make.conf附加模式,使其成为新进程的标准输出并sudo在该新进程中运行。这不是sudo打开echo文件,而是使用您的凭据运行的 shell。

您需要通过以 root 身份启动的命令打开该文件。所以它可能是:

sudo sh -c 'echo "abc-abc/abc/abc" >> /etc/portage/make.conf'

或者:

echo "abc-abc/abc/abc" | sudo tee -a /etc/portage/make.conf > /dev/null

答案2

Sudo 仅执行第一个命令,在您的情况下为“ echo "abc-abc/abc/abc" ”。

因此命令的其余部分(写入/etc/portage/make.conf)将在用户模式下执行。

您只需使用 chmod 修改文件的权限即可。

相关内容