【发布时间】:2011-02-23 10:46:54
【问题描述】:
是否有比以下更优雅的惰性求值方式:
模式='$x 和 $y' x=1 y=2 评估“回声$模式”结果:
1 和 2它有效,但eval "echo ..." 只是感觉草率,并且可能在某些方面不安全。在 Bash 中有没有更好的方法来做到这一点?
【问题讨论】:
-
我很好奇你为什么要这样做,或者你实际上想要完成什么。有时
eval是正确的或唯一的方法,但declare和printf的特殊功能也可能有用。并且可能还有其他方法可以完成您所追求的目标。 -
我有一个想要配置的 bash 脚本。我希望用户能够指定“模式”。稍后,模式中的一些变量将被脚本运行的活动(SQL 查询、SOAP 调用和其他内部实用程序)替换并传递给另一个命令行程序。我对 Bash 有点陌生,这种方法的某些东西感觉不对。感谢您询问更多详细信息。
标签: bash lazy-evaluation