Как мне избежать пробелов в переменных среды bash в качестве аргумента?

#bash #variables #arguments #escaping #space

Вопрос:

У меня есть переменная среды, которая содержит флаги и аргументы, например

 export CMD='compile -m bla --vars "hello there"'
 

Когда я пытаюсь запустить run ${CMD} , ошибка говорит:

 error: unrecognized arguments: there"
 

Он не регистрирует, что цитата относится к «привет».
Как я могу избежать этого?

Комментарии:

1.Вы не. unix.stackexchange.com/questions/444946/… мивики.wooledge.org/BashFAQ/050

Ответ №1:

Можете попробовать использовать обратную кнопку. Отступ — это не знак кавычки. Это имеет совершенно особое значение. Все, что вы вводите между обратными ссылками, оценивается (выполняется). Проверка выполняется перед основной командой

надеюсь, это поможет вам в вашей проблеме