Bash (переменная в файле)

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

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

Ответить
Аватара пользователя
Viper-2
Сообщения: 79
ОС: Debian 4.0, Linux 2.6.18-4-686

Bash

Сообщение Viper-2 »

Доброго времени суток Вам, помогите разобраться с переменными пажалста
Имеется отдельный файл /home/user/file с текстом такого типа:

парам парам...
$X/bin
парам парам...

и имеется скрипт шелл, который я написал так:

#!/bin/bash
X="/usr"
FILE="`cat /home/user/file`"
echo "$FILE" >> /home/user/file2

в итоге текст из file просто копируется в file2 и переменная $X не заменяется на /usr - шота делаю не так? может нужна команда не cat?
и еще можно ли сделать так, чтобы текст не добавлялся в файл, если этот текст там есть? помогите нубику :tongue:
RedHat 4.0, Debian 3.1, Open SuSE 10.1, Open SuSE 10.2, ASP Linux 11.2, Ubuntu 7.04, Debian 4.0, Open SuSE 10.3, Gentoo 2007, Ubuntu 7.10, Ubuntu 8.04!
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус
Контактная информация:

Re: Bash

Сообщение KiWi »

Скажем так, а в каком месте переменная должна подставляться?
Спасибо сказали:
Аватара пользователя
Viper-2
Сообщения: 79
ОС: Debian 4.0, Linux 2.6.18-4-686

Re: Bash

Сообщение Viper-2 »

ну мне нужно чтобы в конечном файле уже не было переменных тоесть скрипт должен скопировать содержимое первого файла в котором есть переменная, заменить переменную на какой либо текст и записать все это без переменных во второй файл, воть =)
RedHat 4.0, Debian 3.1, Open SuSE 10.1, Open SuSE 10.2, ASP Linux 11.2, Ubuntu 7.04, Debian 4.0, Open SuSE 10.3, Gentoo 2007, Ubuntu 7.10, Ubuntu 8.04!
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: Bash

Сообщение Shura »

Ну например вот так:
#!/bin/bash
X="/usr"
sed s/'$X'/$X/ < /home/usr/file > /home/usr/file2
Rock'n'roll мертв © БГ
Спасибо сказали:
Аватара пользователя
Viper-2
Сообщения: 79
ОС: Debian 4.0, Linux 2.6.18-4-686

Re: Bash

Сообщение Viper-2 »

Эм :blush: что то не работает

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

sed: -e выражение #1, символ 7: неизвестный модификатор к `s'
RedHat 4.0, Debian 3.1, Open SuSE 10.1, Open SuSE 10.2, ASP Linux 11.2, Ubuntu 7.04, Debian 4.0, Open SuSE 10.3, Gentoo 2007, Ubuntu 7.10, Ubuntu 8.04!
Спасибо сказали:
Аватара пользователя
Red User
Сообщения: 229
ОС: Debian

Re: Bash

Сообщение Red User »

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

#!/bin/bash
X="\/usr"
sed s/'$X'/$X/ < /home/usr/file > /home/usr/file2
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
Спасибо сказали:
Ответить