LINUX.ORG.RU

Подстановка значений с пробелами в bash


0

0

$ export r=a b; echo $r
a
$ export r="a b"; echo $r
a b
$ echo export r=\"a b\"
export r="a b"
$ $(echo export r="a b"); echo $r
a
$ $(echo export r=\"a b\"); echo $r
sh: line 0: export: `b"': not a valid identifier
"a

Вопрос, как заставить в последних двух командах присвоить переменной r значение с пробелом "a b" (с кавычками или без)?

В оригинале есть некий фильтр, который должен скармливать в среду значения, полученные из некого источника:

$(raf filter << EOF
export r=%cfg%
EOF)

Здесь %cfg% -- некий параметр шаблона, фильтр находит его значение во внешнем источнике и подставляет, после чего подает входной поток с подставленным значением на выход (считайте это аналогом sed). После этого нужно выполнить полученный кусок кода, в результате чего в среде будет определен параметр r. Для этого я использую подстановку команд. Может быть, это правильно сделать по другому?

Ответ на: комментарий от ananas

это автору темы было нужно. Он типа вместо echo будет подставлять какой-то хитрый код

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.