bash スクリプトに問題があります。乗算するには演算子 * を使用する必要があります。代わりに、スクリプトは展開し、スクリプト自体の名前を演算子として使用することで私を悩ませます。一重引用符で試しましたが、機能しません:(コードは次のとおりです
#!/bin/bash -x
# Bash script that calculates an arithmetic expression
# NO PRECEDENCE FOR OPERATORS
# Operators: + - *
if [ "$#" -lt "3" ]
then
echo "Usage: ./calcola.scr <num> <op> <num> ..."
exit 1
fi
result=0
op=+
j=0
for i in "$@"
do
if [ "$j" -eq "0" ]
then
# first try
#result=$(( $result $op $i ))
# second try
let "result$op=$i"
j=1
else
op=$i
j=0
fi
done
echo "Result is $result"
exit 0