Доброго времени суток Вам, помогите разобраться с переменными пажалста
Имеется отдельный файл /home/user/file с текстом такого типа:
парам парам...
$X/bin
парам парам...
и имеется скрипт шелл, который я написал так:
#!/bin/bash
X="/usr"
FILE="`cat /home/user/file`"
echo "$FILE" >> /home/user/file2
в итоге текст из file просто копируется в file2 и переменная $X не заменяется на /usr - шота делаю не так? может нужна команда не cat?
и еще можно ли сделать так, чтобы текст не добавлялся в файл, если этот текст там есть? помогите нубику
Bash (переменная в файле)
Модераторы: /dev/random, Модераторы разделов
Bash
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!
Re: Bash
Скажем так, а в каком месте переменная должна подставляться?
Re: Bash
ну мне нужно чтобы в конечном файле уже не было переменных тоесть скрипт должен скопировать содержимое первого файла в котором есть переменная, заменить переменную на какой либо текст и записать все это без переменных во второй файл, воть =)
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!
Re: Bash
Ну например вот так:
#!/bin/bash
X="/usr"
sed s/'$X'/$X/ < /home/usr/file > /home/usr/file2
Rock'n'roll мертв © БГ
Re: Bash
Эм что то не работает
Код: Выделить всё
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!
Re: Bash
Код: Выделить всё
#!/bin/bash
X="\/usr"
sed s/'$X'/$X/ < /home/usr/file > /home/usr/file2
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата