Я пытаюсь найти правильный способ раскрытия переменной в строке и в кавычках, когда я хочу, чтобы это было сделано.
Вот часть кода:
LABEL="-run_label \"\$STATUS\""
#some stuff done here
STATUS="We_re running something now..."
POSTFIX="<command_call> other_args $LABEL"
К сожалению, если я сделаю $(eval echo $POSTFIX)
и сохраню это в переменную, результат будет примерно таким:
<command_call> other_args -run_label We_re running something now...
, и он взорвется, потому что он не распознает аргументы «работает», «что-то», «сейчас». .. "
Итак, я попытался установить LABEL="-run_label \\\"\$STATUS\\\""
, затем запустить $(eval echo $POSTFIX)
, но теперь это <command_call> other_args -run_label '"We_re' 'running' 'something' 'now..."'
, и он снова жалуется на то, что" работает "что-то" сейчас ". .. 'не являются действительными аргументами.
Что я делаю неправильно, чтобы расширить эти переменные в строке внутри блока кавычек (может быть одинарной или двойной кавычкой) в более позднее время, когда мне нужно, чтобы он вызывался?
Редактировать:Я не использую эту точную строку, поэтому удалил ', как я понял, что будет жаловаться и перешел на _