次のコマンドを実行しようとしています。
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 )
ファイルはルートが所有しているため、ルートに追加することはできません。