У меня есть подобный код:Resolve переменная Баш containted в другой переменной
TEXT_TO_FILTER='I would like to replace this $var to proper value
in multiline text'
var=variable
Все, что я хочу, чтобы это:
TEXT_AFTER_FILTERED="I'd like to replace this variable to proper value"
Так что я сделал:
TEXT_AFTER_FILTERED=`eval echo $TEXT_TO_FILTER`
TEXT_AFTER_FILTERED=`eval echo $(eval echo $TEXT_TO_FILTER)`
Или даже более странные вещи, но без каких-либо эффектов. Я помню, что когда-нибудь у меня была аналогичная проблема, и я сделал что-то вроде этого:
cat <<EOF> tmp.sh
echo $TEXT_TO_FILTER
EOF
chmod +x tmp.sh
TEXT_AFTER_FILTERED=`. tmp.sh`
Но это решение, кажется, к большому комплексу. Вы слышали о каком-либо из более простых решений?
TEXT_AFTER_FILTERED = '' Eval эхо $ TEXT_TO_FILTER'', кажется, работает для меня – Mark
Это будет работать нормально для меня, как хорошо, но у меня есть более сложное содержание TEXT_TO_FILTER (много линий, гольцы, как < > и т.д.). Таким образом, простой eval не будет работать – kokosing