Scripting en shell de Linux

hola chicos aver si alguien me sabe ayudar en un script de Linux para shell sh o bash.
Tengo que hacer una calculadora que funcione con parámetros y no sé como hacer par que se evaluen las expresiones matemáticas.
Por ejemplo si pongo echo $2+$3, donde $2=4 y $3=4,
que por pantalla en lugar de salir '4+4', salga el resultado, 8.
Gracias.
Necesitas el comando let.

man let para mas informacion ;)

Salu2!
No se necesita para sumar? ein? (cuando digo sumar digo hacer operaciones matematicas) cuando programaba en bash era para lo que lo utilizaba, por ejemplo para crear un contador (loquesea++ en c)

Sera que me he equivocado, hace eones que no programo en bash en condiciones asique no me extrañaria x)

Salu2!
bash no opera en coma flotante, para eso necesitaras BC.
\-\adEs escribió:No se necesita para sumar? ein? (cuando digo sumar digo hacer operaciones matematicas)

Segun zonasiete no :)
#!/bin/bash
# Script de muestra del uso de las variables

# Asignación de una variable:
#
variable=5
otravariable=10
tercera=2

resultado1=$[5*10/2]
resultado2=$[$variable*$otravariable/$tercera]

echo " "
echo "El resultado de 5*10/2 es $resultado1 ,"
echo "que efectivamente coincide con $resultado2 "
echo " "

frase="Introduzca lo que usted quiera:"
echo $frase
read entrada_del_usuario
echo " "
echo "Usted introdujo: $entrada_del_usuario"

exit 0


\-\adEs escribió:Sera que me he equivocado, hace eones que no programo en bash en condiciones asique no me extrañaria x)

No, ni yo tampoco, pero habia ojeado que lo hacia sin let y por eso preguntaba. Perdona que haya sido tan escueto en mi pregunta :)
xatafi escribió:No, ni yo tampoco, pero habia ojeado que lo hacia sin let y por eso preguntaba. Perdona que haya sido tan escueto en mi pregunta :)


Hum.... a ver si saco tiempo y me pongo con estas cosillas que me empieza ha hacer falta :Ð Siempre que lo he hecho ha sido usando let expresion y la verdad esque lo unico que me ha dado ha sido problemas x)

Por la respuesta, no te preocupes [oki]

Salu2!
Para aritmética entera, lo mejor es usar la construcción (( )). Para aritmética en coma flotante, pues bc o dc, a gusto del consumidor.

Saludos.Ferdy
Muchisimas gracias chicos por vuestra ayuda, es para un examen de informatica que tengo mañana, ahora me metere neLinux y probaré lo que me habeis dicho, porque yo diria que lo intente con let y no funcionaba no sé por qué, bueno si me sigue sin salir, ya modificaré este mensaje para daros más la lata :D, saludos a todos.
9 respuestas