Перенаправление ввода-вывода оболочки * происходит до , когда оболочка выполняет вашу команду ... другими словами, когда вы пишете:
sudo somecommand >> /etc/profile
Часть >> /etc/profile
выполняется кактекущий пользователь, а не root
.Вот почему вы получаете сообщение «Отказано в доступе».Существуют различные способы решения этой проблемы.Вы можете выполнить:
sudo sh -c "echo export PATH=$PATH:/usr/local/go/bin >> /etc/profile"
Или использовать флаг добавления (-a
) к команде tee
:
echo "export PATH=$PATH:/usr/local/go/bin" | sudo tee -a /etc/profile