sudo sh -c 'echo "some words" >> /etc/apt/source.list'
Причина sudo эхо "некоторые слова">>/etc/apt/source.list не работает, то, потому что sudo повышает полномочия команды 'эха' а не перенаправления.
>> перенаправление заставляет текущую оболочку создавать/добавлять в файл. Это перестало работать, потому что Ваша оболочка не имеет полномочий сделать так.
Причина мой ответ работает, состоит в том, что Вы работаете, все это (отзовитесь эхом и перенаправление) в новой оболочке, которая была sudo'd. sh -c ...
вызывает новую оболочку и выполняет команду, данную в той подоболочке. sudo, прежде чем это сделает ту подоболочку выполненным жгутом из прутьев, нарастил полномочия.
Второй sudo пример не имеет смысла, потому что sudo принимает управление для выполнения, и это не то, что Вы являетесь передающими. Я держал пари, что у Вас действительно есть файл в локальном каталоге названным sudo теперь с содержанием "некоторые слова". Не стесняйтесь удалять это :-)
Если это - действительно точный файл, который Вы хотите изменить, можно сделать
sed -i.old -e 's/word_word1_//' /path/to/filename
изменить оперативный файл. Можно пропустить -i...
часть для наблюдения то, что сделал бы sed.
( -i
опция говорит sed писать файл резервной копии Вашего источника и добавлять a .old
к имени файла)