我有一个学校的任务是创建一个脚本,该脚本可以使用运算顺序计算任意长度的数学方程。我遇到了一些麻烦,最后发现了这里的字符串。脚本的最大问题似乎是错误检查。我尝试使用 $? 检查 bc 的输出,但是无论成功还是失败,它都是 0。作为回应,我现在尝试将 here-string 的输出存储到一个变量中,然后我将使用正则表达式来检查输出是否以数字开头。这是我希望存储在变量中的一段代码,然后是我的脚本的其余部分。
#!/bin/bash
set -f
#the here-string bc command I wish to store output into variable
cat << EOF | bc
scale=2
$*
EOF
read -p "Make another calculation?" response
while [ $response = "y" ];do
read -p "Enter NUMBER OPERATOR NUMBER" calc1
cat << EOF | bc
scale=2
$calc1
EOF
read -p "Make another calculation?" response
done
~