строка bash и расширение переменной с помощью eval и echo - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь найти правильный способ раскрытия переменной в строке и в кавычках, когда я хочу, чтобы это было сделано.

Вот часть кода:

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..."', и он снова жалуется на то, что" работает "что-то" сейчас ". .. 'не являются действительными аргументами.

Что я делаю неправильно, чтобы расширить эти переменные в строке внутри блока кавычек (может быть одинарной или двойной кавычкой) в более позднее время, когда мне нужно, чтобы он вызывался?

Редактировать:Я не использую эту точную строку, поэтому удалил ', как я понял, что будет жаловаться и перешел на _

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...