Как мне запретить Bash интерпретировать восьмеричный код вместо целого?

Вложенные evals - вещь запутанная.

Во-первых,

eval echo \$\(eval echo \$$a\)

заставляет интерпретатор оценивать следующее:

echo $(eval echo $b)

Интерполяция самой внутренней вложенной команды (например, $ (eval echo $ b) ) приводит к:

echo c

Что дает вам результат:

c

Если вы хотите, чтобы вложенные выражения вычислялись правильно (и я настоятельно рекомендую , а не , использовать вообще eval - )), вы должны получить довольно странно. Примеры см. В других ответах.

13
23.11.2017, 03:55
0 ответов

Теги

Похожие вопросы