| |
| 1.1, pavlinux, 01:39, 14/05/2009 [ответить] [смотреть все]
| +/– |
Какую-то х...ню накопипастили, сами-то
проверяли...
> eval "echo \"${template}\"" > ${config_file}
ambiguous redirect
> this is a \" quotes test \"
Это что за команда...
Макс удаляй нафиг, лажу копируют сюда!!!
|  | | |
| |
| 2.4, Maxim Chirkov, 11:01, 14/05/2009 [^] [ответить] [смотреть все]
| +/– |
>[оверквотинг удален]
>проверяли...
>
>> eval "echo \"${template}\"" > ${config_file}
>
>ambiguous redirect
>
>> this is a \" quotes test \"
>
>Это что за команда...
>Макс удаляй нафиг, лажу копируют сюда!!!
Это не команда, это текст из файла с темплейтом. отсутствие определения переменной config_file поправил. Очень полезный совет, побольше бы таких присылали.
|  | | |
|
| |
| 2.7, Andrey Mitrofanov, 13:05, 14/05/2009 [^] [ответить] [смотреть все]
| +/– |
>Не понял цели.
>Можно пример применения?
Ну, это что-то типа того, что обычно делается другими средствами... Вроде
sed <file.template >file.new "s/@@VAR1@@/$VAR1/g; s/@@VAR2@@/$VAR2/g;"
или
---8<--- /etc/init.d/bootmisc.sh, фрагмент
# Update motd
uname -snrvm > /var/run/motd
[ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
|  | | |
| |
| |
| 4.9, Andrey Mitrofanov, 10:24, 15/05/2009 [^] [ответить] [смотреть все]
| +/– | |
>я уже лет 5 на шелле рисую
Попробуй читать чужие "рисунки"... "./configure", "make" и проч. -- не-е-епонятнейшие "головоломки". :>
> но не понял идеи поста:)
Моего? Одной из 6 других реплик? <<Полезного совета>>? Своего?? Раскажите об этом подробнее.
|  | | |
|
|
|
| 1.10, Andrey Mitrofanov, 10:47, 15/05/2009 [ответить] [смотреть все]
| +/– |
>[оверквотинг удален]
>Пример шаблона:
>
> myvar = ${myvar1}
> this is a \" quotes test \"
> $(
> if [ ! -z ${myvar2} ]; then
> echo "myvar2 is set and its value
>= ${myvar2}"
> fi
> )
---8<---
#!/bin/bash
config_file='test.conf'
myvar1='variable 1'
cat <<TPLT > ${config_file}
myvar = ${myvar1}
this is a " quotes test "
$(
if [ ! -z ${myvar2} ]; then
echo "myvar2 is set and its value = ${myvar2}"
fi
)
TPLT
--->8---
1. Одним файлом: шаблон как here-document в скрипте.
2. Кавычки не нужно экранировать. Нужно экранировать '$', если на выходе нужен сам этот символ.
3. У неортодоксальных нерелигиозных нефанатиков, освоивших установку $чего-то-там-про-пакеты, bash бывает и _не_ на ОС GNU/Linux (впрочем, как и не на ядре linux). Впрочем, безусловно, такие исключения только подтверждают правило, ога.
|  | | |
|
|