Оболочка обрабатывает ">", "<", ">>" и т. Д. Перед запуском команд. Поэтому проблема в том, что "sudo >> / etc / foo" пытается открыть / etc / foo для добавления до получения привилегий.
Одним из способов решения этой проблемы является использование sudo для запуска другой оболочки, чтобы делать то, что вы хотите, например ::
sudo sh -c 'echo "[some repository]" >> /etc/apt/sources.list'
Или альтернативно:
echo "[some repository]" | sudo sh -c 'cat >> /etc/apt/sources.list'
Более простой подход может заключаться в использовании sudo для запуска редактора в / etc / file:)