Bash脚本-用于计算时间表的函数

Bash脚本-用于计算时间表的函数,bash,shell,Bash,Shell,因此,在代码的其余部分,我让用户选择数字和运算符,然后调用传递用户输入的函数。现在我的问题是,我可以压缩这个函数吗?使用相同的操作来处理浮点数和指数???我想在某些情况下使用bc的原因是小数点后有两个小数点。在bc中,指数运算符不是**中的bash而是^ 如果这些假设是正确的,我建议您使用下一个代码: tableGenerator () { if [ "$1" = "**" ];then i

因此,在代码的其余部分,我让用户选择数字和运算符,然后调用传递用户输入的函数。现在我的问题是,我可以压缩这个函数吗?使用相同的操作来处理浮点数和指数???

我想在某些情况下使用
bc
的原因是小数点后有两个小数点。在
bc
中,指数运算符不是
**
中的
bash
而是
^

如果这些假设是正确的,我建议您使用下一个代码:

tableGenerator () {

            if [ "$1" = "**" ];then
                    i=1
                    while [ $i -le 15 ]
                    do
                            echo  "$number  $1  $i =$(( $number $1  $i))"
                            i=$(($i+1))
                    done
             else
                    i=1
                    while [ $i -le 15 ]
                    do
                            echo -n "$number  $1  $i="
                            echo  " scale=2 ;$number $1  $i " | bc
                            i=$(($i+1))
                    done
              fi

您应该告诉我们运算符
$1
的可能值。我假设当前的操作符像
+
-
等等。。。很明显,
**
。是的,对不起+,-,/,*,**谢谢你的帮助是的,因为除法的缘故,我用了浮点。这很有趣,但是**似乎做了与^相同的事情,但显然操作方式有所不同,因为我用^替换了**,并且我可以将函数简化为单个,而|bc环路。无论如何,谢谢你的提示。现在很开心!
tableGenerator () {

  if [ "$1" = "**" ]; then
    op=^
  else
    op="$1"
  fi

  for i in {1..15}
  do
    echo -n "$number  $op  $i="
    echo  "scale=2; $number $op  $i " | bc
  done

}