Решено: Переменная bash и HEREDOC

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

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

Ответить
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Решено: Переменная bash и HEREDOC

Сообщение serzh-z »

Верно ли, что bash не позволяет присвоить переменной значение в виде HEREDOC, или же это делается несколько необычным способом?

Это:
V=<<TEXT
test
TEXT

echo ${V}
вернет пустоту...
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение KiWi »

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

variable=$(cat <<SETVAR
This variable
runs over multiple lines.
SETVAR)

echo "$variable"

ABS.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение serzh-z »

Сэнкс. ABS полностью не асилил... :)

Серж&IFL
Блин, мужуки - какие ж вы у нас умные... :girl_in_love: :blush2: (J)
Спасибо сказали:
Slash_from_Rjazan
Сообщения: 70
ОС: Linux Mandriva

Re: Решено: Переменная bash и HEREDOC

Сообщение Slash_from_Rjazan »

Народ, а что такое ABS??? И где его взять на прочитать?
А то мне очень понравилась идея хранить в переменных многострочный текст, это можно на лету любые конфиги генерить -- сделал шаблон и занес его в переменную, переменным шаблона присвоил нужные значения, сделал echo > conf.file "$config_file" и получил нужный конфиг. По-моему красиво :)


Slash_from_Rjazan писал(а):
05.04.2007 00:22
Народ, а что такое ABS??? И где его взять на прочитать?
А то мне очень понравилась идея хранить в переменных многострочный текст, это можно на лету любые конфиги генерить -- сделал шаблон и занес его в переменную, переменным шаблона присвоил нужные значения, сделал echo > conf.file "$config_file" и получил нужный конфиг. По-моему красиво :)

Sorry, вопрос снимается. До меня дошло спросить google запросом ABS bash и меня выкинуло на Advanced Bash Scripting. Я так понимаю, что это именно вышеупомянутый документ.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение serzh-z »

(Slash_from_Rjazan @ Apr 5 2007, в 00:22) писал(а):Я так понимаю, что это именно вышеупомянутый документ.
Он самый, который с TLDP.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение serzh-z »

IFL
Слушай, а каким образом в HEREDOC-строке правильно вставить скобку? Я использую следующее решение а-ля "бубен":

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

PT=')'
CODE=$(cat <<CODE
case \${v} in
        foo${PT}
     ;;
esac
CODE)

echo "${CODE}" > some_file
Если скобку экранировать в теле HEREDOC-строки, то она так и попадет в some_file со слешем (экранирование $ работает как надо).
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение KiWi »

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

ifl:~ IFL$ variable=`cat <<HEREDOC
This\\\`)
HEREDOC`
ifl:~ IFL$ echo $variable
This`)
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение serzh-z »

IFL писал(а):
09.04.2007 18:14
This`)
И что делать с кавычкой?
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус
Контактная информация:

Re: Решено: Переменная bash и HEREDOC

Сообщение KiWi »

serzh-z писал(а):
09.04.2007 21:07
И что делать с кавычкой?

Не глючь.
Я её специально вставил, чтобы потом не спрашивал как эскейпить `. :-)
Спасибо сказали:
Ответить