我是linux的新手,刚刚开始学习bash。我使用Ubuntu 9.04,并希望从命令行
添加存储库到/etc/apt/sources.list。基本上,我想这样做:
sudo echo "[some repository]" >> /etc/apt/sources.list
然而,即使我使用sudo,我得到这个错误:
bash: /etc/apt/sources.list: Permission denied
如何避免此错误?
echo "[some repository]" | sudo tee -a /etc/apt/sources.list
tee命令通过sudo被称为超级用户,-a参数告诉tee附加到文件,而不是覆盖它。
您的原始命令失败,因为IO重定向使用>>将作为普通用户,只有你的回声执行sudo。
调用sudo subshell like
sudo sh -c 'echo "[some repository]" >> /etc/apt/sources.list'
工作,也如他人所指出的。