J'ai un problème avec un script bash. Je dois utiliser l'opérateur * pour multiplier. Au lieu de cela, le script me dérange avec l'expansion et utilise comme opérateur le nom du script lui-même. J'ai essayé avec des guillemets simples mais il ne fonctionne pas :(Voici le codeÉviter l'expansion de * dans bash fonction intégrée let
#!/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 "[email protected]"
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
Il pourrait être une bonne idée, mais je dois rendre les utilisateurs à utiliser * au lieu des formes échappées .. :(Parce qu'un but de cet exercice est d'utiliser * – gc5