我正在尝试通过以下方式在文件中插入一些文本
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 修改文件的权限即可。