我正在尝试运行以下命令:
grep -q NDDSHOME /etc/environment || echo 'NDDSHOME="/opt/rti_connext_dds-6.0.1"' >> /etc/environment
但面临权限被拒绝的错误:
bash: /etc/environment: Permission denied
我该如何解决这个问题?
答案1
/etc/environment
您试图在没有权限的情况下写入系统文件。
以 root 身份运行整个命令:
sudo -s
grep -q NDDSHOME /etc/environment || echo 'NDDSHOME="/opt/rti_connext_dds-6.0.1"' >> /etc/environment
或者确保追加>>
以 root 身份运行(这里我们将其替换为tee
追加到文件,然后丢弃标准输出方面):
grep -q NDDSHOME /etc/environment || echo 'NDDSHOME="/opt/rti_connext_dds-6.0.1"' | sudo tee -a /etc/environment >/dev/null
答案2
这应该有效:
grep -q NDDSHOME /etc/environment || ( echo 'NDDSHOME="/opt/rti_connext_dds-6.0.1"' | sudo tee -a /etc/environment )
该文件归 root 所有,您不能只附加到它。