Esas variables son variables de shell. Para expandirlos como parámetros a otro programa (ie expr
), necesitas usar el $
prefijo:
expr $x / $y
La razón por la que se quejó es porque pensó que estaba tratando de operar con caracteres alfabéticos (ie no entero)
Si está utilizando el shell Bash, puede lograr el mismo resultado utilizando la sintaxis de expresión:
echo $((x / y))
O:
z=$((x / y))
echo $z
Creo que ya se mencionó en otros hilos:
calc(){ awk "BEGIN { print "$*" }"; }
entonces simplemente puede escribir:
calc 7.5/3.2
2.34375
En tu caso será:
x=20; y=3;
calc $x/$y
o si lo prefiere, agregue esto como un script separado y hágalo disponible en $PATH para que siempre lo tenga en su shell local:
#!/bin/bash
calc(){ awk "BEGIN { print $* }"; }