【发布时间】:2021-03-29 21:02:35
【问题描述】:
我正在尝试在 for 循环中运行 f(x),此时 f(x) 将由用户插入。 例如 f(x)=(x^2-4)/(x-2)。当我在循环中输入完整的 f(x) 时,它起作用了。但是,当我尝试使用变量时,它不起作用。
F='(${X}^2-4)/(${X}-2)'
for X in 3 4; do
echo "${F}" | bc # this doesn't work
echo "(${X}^2-4)/(${X}-2)" | bc # this one works
done
exit 0
【问题讨论】:
-
还有两个进入
bash的技巧: 1) shellcheck.net 对您的代码进行静态分析,并通过遵循最佳实践帮助您避免许多陷阱; 2)您可以使用bash -x yourScript.sh或在脚本中添加set -x来调试bash脚本:它会使bash在执行时显示每个命令,但在它们展开之后。 (我在第一条评论中的意思是“文本”,而不是“测试”;可悲的是不能再编辑它了) -
嗨亚伦,再次感谢。问题是我假设我不知道 f(x) 并且脚本会提示用户输入它。 (我的意思是你提出的文本解决方案)
标签: bash loops for-loop variables