bash: /etc/environment: 权限被拒绝

bash: /etc/environment: 权限被拒绝

我正在尝试运行以下命令:

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 所有,您不能只附加到它。

相关内容