【发布时间】:2019-02-03 00:07:50
【问题描述】:
我只是想知道两者有什么区别:
echo {$number1..$number2}
与
eval echo {$number1..$number2}
当然,假设 $number1 和 $number2 中有一个值。 使用第一个选项是行不通的,但使用第二个选项它可以工作。我不是那种只想让某事起作用的典型人,我想了解为什么会这样,为什么会这样?
【问题讨论】:
-
一个 eval 可以执行任何命令。
-
是的,但是,在第一种形式中,我也在执行命令。那么真正的区别是什么?过程?
-
This answer 在相关问题上解释了为什么大括号扩展不能与参数扩展一起使用
-
bash 手册页不是最容易阅读的,但 EXPANSION 部分可能会有所帮助。
标签: linux bash eval brace-expansion