【发布时间】:2018-09-12 04:58:13
【问题描述】:
下午好,这是我的 bash 代码:
for f in {-20..20};
do
cd V_$f;
echo V_$f;
c= echo "$f /10" | bc -l | xargs printf "%.1f";
echo $c;
sed -i -e "s/TS.Voltage 0.0 eV/TS.Voltage "$c" eV/" scattering.fdf;
cd ..;
done;
在名字V.sh下调用时,结果是例如
V_-20
-2.0
...
以此类推,直到 V_20 / 2.0 代表我的文件夹以及每个文件中所需的值 c。我的问题是,当我查看每个文件夹中的 fdf 文件以查看命令 sed 是否有效时,c 的值未显示。事实上,我得到TS.Voltage "space" eV 而不是c 的值。请问有什么建议吗?
【问题讨论】:
-
也许您需要
$()或在分配了c的表达式周围加上反引号。 -
欢迎来到 Stack Overflow。请注意,在这里说“谢谢”的首选方式是投票赞成好的问题和有用的答案(一旦你有足够的声誉这样做),并接受对你提出的任何问题最有帮助的答案(这也给出了你的声誉小幅提升)。请查看About 页面以及How do I ask questions here? 和What do I do when someone answers my question?
-
欢迎来到 Stack Overflow!抱歉,这不是 StackOverflow 的工作方式。 “这是我的一堆代码,请为我调试”形式的问题被认为是题外话。请访问help center 并阅读How to Ask 了解更多信息。