在shell命令行中,有时候需要给一个root
用户的文件添加内容,但是当前shell执行用户是普通用户身份,则会出现如下执行权限不足的报错
$ echo "export PATH=$PATH:/opt/bin" >> /etc/profile
-bash: /etc/profile: Permission denied
解决的方法有以下两种:
- 使用
sudo tee -a
命令,通过管道传递需要添加的内容给tee
,由于tee
通过sudo
执行,就具有权限写入文件
echo "export PATH=$PATH:/opt/bin" | sudo tee -a /etc/profile
- 使用
sudo bash -c
命令,使得整个shell都具有root
用户权限
sudo bash -c "echo 'export PATH=$PATH:/opt/bin' >> /etc/profile"