Запретить подстановку команд оболочки - PullRequest
0 голосов
/ 13 марта 2012

Есть ли способ предотвратить подстановку команд в скрипте оболочки?

Например, если скрипт содержит строку типа:

var=`echo foo`

Я хотел бы получить способ `echo foo`.Не просто замена команды, которая является foo.

Редактировать: Я пытаюсь сохранить эти команды для последующей оценки.Плюс я не могу редактировать скрипт вручную;Мне нужны эти значения в программе на C / C ++, и таким образом я должен был бы каким-то образом разобрать скрипт, что убивает цель (именно этого я и хочу избежать: синтаксический анализ скрипта).

Редактирование # 2: Полная ситуация объяснена здесь: есть этот сценарий оболочки, который содержит несколько переменных, таких как:

foo="bar"
baz=`some_command`

и т. Д.Я хочу, чтобы каждая переменная хранила правую часть выражения (т.е. "bar" и "some_command`).Я должен сделать это из программы на C / C ++, поэтому я не могу вручную редактировать скрипт (например, чтобы добавить одинарные кавычки).

1 Ответ

1 голос
/ 13 марта 2012

Вы должны поместить свою строку в одинарные кавычки.

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