bash, несколько вопросов

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Malcolm
Сообщения: 860
Статус: Изменник
ОС: Archlinux on IBM Z60m
Контактная информация:

Re: bash, несколько вопросов

Сообщение Malcolm »

Бодрый и Веселый писал(а):
22.01.2007 22:09
Можно так:

Код: Выделить всё

MODULES="a b c"; echo "MODULES=(e f g)" | sed -e "s/^MODULES=(.*)$/MODULES=(${MODULES})/"

спасибо, помогло.

Ещё есть вопросик:)

Код: Выделить всё

TIMEZONE="Asia/Yekaterinburg"
sed -i -e 's/\(^TIMEZONE.*\)/TIMEZONE=\"Asia\/Yekterinburg\"/' /etc/rc.conf

Т.е. когда напрямую пишешь, всё нормально, а если через переменную брать значение, то sed спотыкается, как я понимаю на обратном слэше. Можно ли экранировать слэш не в переменной, а в "вызове" переменной?
Win7 on X200s || Android 2.3 on Galaxy Tab
Блог
Спасибо сказали:
Аватара пользователя
Бодрый и Веселый
Сообщения: 66
ОС: What?

Re: bash, несколько вопросов

Сообщение Бодрый и Веселый »

Код: Выделить всё

TIMEZONE="Asia/Yekaterinburg"; echo "TIMEZONE=" | sed -e "s/^TIMEZONE.*$/TIMEZONE=\"${TIMEZONE//\//\/}\"/"

Слеш можно экранировать бэкслешем при подстановке, с помощью регулярного выражения.
Спасибо сказали:
Аватара пользователя
Бодрый и Веселый
Сообщения: 66
ОС: What?

Re: bash, несколько вопросов

Сообщение Бодрый и Веселый »

У меня тоже вопрос:

Код: Выделить всё

fc="find ."; fr=`${fc}`; echo "${fr}" # Работает
echo "`find . -name '*'`" # Тоже
fc="find . -name '*'"; fr=`${fc}`; echo "${fr}" # Ошибка
Как исправить последний вариант?
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: bash, несколько вопросов

Сообщение elide »

Код: Выделить всё

fc="find . -name '*'"; fr=`eval ${fc}`; echo "${fr}"
слава роботам!
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: bash, несколько вопросов

Сообщение Voice »

Можно пару мелких вопросов от меня?

1) Что за команда la?? Это внутреняя команда баша?
2) Как дописать в файл (одной командой), а то cat его переписывает?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: bash, несколько вопросов

Сообщение Liksys »

1) "la" - псевдоним "ls -al"
2) cat ... > ... - перезаписывает, cat ... >> ... - добавляет.
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: bash, несколько вопросов

Сообщение Voice »

Liksys писал(а):
01.03.2007 17:54
1) "la" - псевдоним "ls -al"
2) cat ... > ... - перезаписывает, cat ... >> ... - добавляет.

Спасибо. Про la я так и думал, но немогу ее ни как найти.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Ответить