正如chepner在下面的评论中提到的,我天真地误解了bc编程,实际上可以用
查看创建的目录ls -a
这个问题在其他地方解决了(链接如下),但我认为我已经包含了我自己的问题来帮助解决背景背景下的问题。人们也可以跳到下面的问题。
我有以下内容:
#!/bin/bash
##############################################################################
odir=$PWD
for (( i=0; i<=5; i++ )) ;
do
R=$(echo "scale=2;0.8+(0.1*$i)" |bc -l)
R1=$(echo "scale=2;0.5*($R)" |bc -l)
mkdir -p $odir/$R/rhf/
cd $odir/$R/rhf/
cp $odir/x.inp $odir/run
done
我的输出创建了目录:
1.0 1.1 1.2 1.3
目录不是0.8和0.9。因此我的问题涉及变量R:
R=$(echo "scale=2;0.8+(0.1*$i)" |bc -l)
带有&#34;领先零的目录&#34; (0.8和0.9)没有打印。
This problem was solved in another question here.
特别是对于那些对解决方案感兴趣的人,改编自potong链接中的第二个回复,是:
R=$(echo "scale=2;x=0.1 + 0.1; if(x<1) print 0; x" | bc
我想知道为什么bc无法打印前导零的任何特殊原因。这是一个错误,还是来自更基本的东西?作为编程中的一个小说,这个错误是否常见,以及我将来可能再次遇到的事情?
谢谢。