Перенос строки в etho

stm4836248

Тема дико избитая, но я тупо не понимаю, что написано в http://www.vashmaster.ru/informaciya/o_sozdanii_saytov/news1... не работает.
То есть я хочу добавить в /etc/apt/sources.list строки "deb http://linux.getdropbox.com/ubuntu lucid main" и "deb-src http://linux.getdropbox.com/ubuntu lucid main"
Делаю всё это так:
sudo echo "deb http://linux.getdropbox.com/ubuntu lucid main\ndeb-src http://linux.getdropbox.com/ubuntu lucid main" >> /etc/apt/sources.list
но в итоге всё равно добавляется только одна строка (то есть обе ,без переброса строки).
Хочется, чтобы это была однострочная команда и чтоб в ней не повторялось " /etc/apt/sources.list" 2 раза.
И ещё вопрос: можно ли вышеописанное действо выполнить без предварительного ввода команды "sudo su" (как это описано, например, здесь: http://clubs.ya.ru/ubuntu/replies.xml?item_no=5268 )?

alfadred

echo -e

stm4836248

Где и как это юзать - куда писать?

stm4836248

А. Ну да, написал вместо "echo" "echo -e" - заработало.
А от предварительного "sudo su" можно ли как-то избавиться?

alfadred

Где и как это юзать - куда писать?
Вместо echo писать echo -e - тогда он будет обрабатывать \n
По-хорошему тебя надо было в man echo послать после первого вопроса.

stm4836248

Кстати, имхо, "\n" добавляет нечитаемости. Можно ли "\n" заменить на что-то более читаемое (но чтоб, всё равно, команда оставалась однострочной)?

alfadred

sudo su -c "echo -e 'first line\nsecond line' >>filename"

stm4836248

Спасибо, маг и волшебник!

germafrodita

что написано в http://www.vashmaster.ru
ну чуве
еба
ты хоть притворяйся что стараешься
какой нахер вашмастер

AlexV769

Вообще говоря неверно.
>csh
%echo -e "line1\nline2"
-e line1\nline2
%

vall

sudo tee -a file <<EOF
foo
bar
EOF
и echo с sudo так не работает, редиректы открываются до него

stm4836248

А каг полность удалить содержимое файла перед внесением в него изменений? По сути, нужно создать новый файл, но если он уже есть, то удалить старый и написать туда то, что нужно мне.

stm4836248

О! нагуглил хорошие тред со ссылочкрй: http://forum.antichat.ru/thread144103.html .

Fragaria

Блять да прочитай-ты уже man bash наконец, ебаная рогатая тварь!

stm4836248

А ещё вопросц: если мне нужно добавлять строчеи с обилием двойных и одинартных кавычек, долларов и прочего ( http://github.com/ago/madwimax/commit/a6f1d42b26f939f0bea3de... в z60_madwimax.rules то что лучше делать?

Fragaria

Собери ты уже свой пакет для убунты, это просто как два пальца, и не придется скриптом системные файлы править.

stm4836248

Нахер это нужно? каноникал делает основную работу, я подпиливаю их релизы. Зачем искусственно отставать от прогресса?

Fragaria


Собираешь пакет, в котором находятся твои изменения в официальный релиз. Пре-инсталл-скриптами бэкапишь системные файлы конфигурации, в пакет кладешь свои вместо них, заодно кладешь собранные бинарники, если это необходимо. В пост-ремув-скриптах восстанавливаешь бэкап.

stm4836248

Не. Тупняк. В каждой новой версии бубунты что-то да изменяется.
Уж лучше следить за форумами, на предмет изменения подходов в решениях проблем, чем юзать что-то старое. Прогресс же!
Кста, по поводу самого топика, http://poplinux.ru/adv-bash/chapter-5.0.html спасёт отца русской демократии, надеюся! ;)

Fragaria

А твои скрипты конечно же будут работать от версии к версии одинаково, ага.

stm4836248

Я их буду править, говорю ж.

AlexV769

После чего бубунта при попытке установить пакет говорит человеческим языком: ага! хрен тебе, а не поставлю пакет. эти файлики уже записаны за установленным пакетом XXX.
И кстати. Долбануться в этих deb-подобных дистрибутивах пакеты собирать. Я задолбался. Видимо нужно быть сильно альтернативно одаренным, чтобы все эти dh_ и прочие дЕбилды запомнить.

Fragaria

А пакет что, нельзя править?
Во-первых, у пакета есть dependencies, в которых ты можешь привязаться к конкретной версии программ, чьи конфиги правишь. Во-вторых, там есть гибкая система пре- и пост-инсталл скриптов. В-третьих, можно поднять микро-репозитарий в локалке той конторы, где ты админишь, и новые версии твоего пакета будут автоматом подсасываться всем клиентам и ставиться. В-четвертых, ты можешь делать разные версии пакета для разных релизов дистрибутива.
Нет бля надо свой велосипед написать, к тому же кривой.

Fragaria

Это легко обходится пре-инсталл-скриптами. В частности, используешь другие имена файлов, а скриптом старый конфиг бэкапишь и ставишь линк на свой файл, но с другим именем.
Кроме того, в убунте многие системы начинают пользоваться .conf.d-системой конфигурации вместо единого файла, там еще проще все: просто дизаблишь чужой конфиг и включаешь свой.

stm4836248

То, что я спрашиваю сейчас, - это не для конторы, а для рандомного десктопа. Когда я делаю рандомный десктоп, то не всегда есть возможность подключить его к своей репе. А инет со своими записями по убунте всегда есть (ну стараюсь сделать, чтоб был, если точнее :D).

AlexV769

Это легко обходится пре-инсталл-скриптами. В частности, используешь другие имена файлов, а скриптом старый конфиг бэкапишь и ставишь линк на свой файл, но с другим именем.
Что произойдет, когда пользователь захочет удалить "мастер" пакет с оригинальными файлами?

Fragaria

Очевидно удалится линк.
Оставить комментарий
Имя или ник:
Комментарий: