Buscar..
Matemáticas usando dc
 dc es uno de los lenguajes más antiguos en Unix. 
 Está utilizando la notación de pulido inverso , lo que significa que primero apila números y luego operaciones. Por ejemplo, 1+1 se escribe como 1 1+ . 
 Para imprimir un elemento desde la parte superior de la pila, use el comando p 
echo '2 3 + p' | dc
5
or
dc <<< '2 3 + p'
5
Puedes imprimir el elemento superior muchas veces
dc <<< '1 1 + p 2 + p'
2
4
 Para números negativos usa el prefijo _ 
dc <<< '_1 p'
-1
 También puede usar letras mayúsculas de la A to F para los números entre 10 and 15 y . como punto decimal 
dc <<< 'A.4 p'
10.4
 dc utiliza una precisión máxima, lo que significa que la precisión solo está limitada por la memoria disponible. Por defecto, la precisión se establece en 0 decimales. 
dc <<< '4 3 / p'
1
 Podemos aumentar la precisión utilizando el comando k . 2k utilizará 
dc <<< '2k 4 3 / p'
1.33
dc <<< '4k 4 3 / p'
1.3333
También puedes usarlo sobre múltiples líneas.
dc << EOF
1 1 +
3 *
p
EOF
6
bces un preprocesador paradc.
Matemáticas usando bc
 bc es un lenguaje de calculadora de precisión arbitraria. Se puede usar de forma interactiva o ejecutarse desde la línea de comandos. 
Por ejemplo, puede imprimir el resultado de una expresión:
echo '2 + 3' | bc
5
echo '12 / 5' | bc
2
 Para la aritmética de publicaciones flotantes, puede importar la biblioteca estándar bc -l : 
echo '12 / 5' | bc -l
2.40000000000000000000
Se puede utilizar para comparar expresiones:
echo '8 > 5' | bc
1
echo '10 == 11' | bc
0
echo '10 == 10 && 8 > 3' | bc
1
Matemáticas usando las capacidades de bash
El cálculo aritmético también se puede realizar sin involucrar ningún otro programa como este:
Multiplicación:
echo $((5 * 2))
10
División:
echo $((5 / 2))
2
Modulo
echo $((5 % 2))
1
Exposiciónción:
echo $((5 ** 2))
25
Matemáticas usando expr
 expr Evaluate expressions expr o Evaluate expressions evalúan una expresión y escriben el resultado en la salida estándar 
Aritmética básica
expr 2 + 3
5
 Al multiplicar, necesitas escapar del signo * 
expr 2 \* 3
6
También puedes utilizar variables.
a=2
expr $a + 3
5
Tenga en cuenta que solo admite enteros, por lo que una expresión como esta
expr 3.0 / 2
 arrojará un error expr: not a decimal number: '3.0' . 
Es compatible con la expresión regular para que coincida con los patrones
expr 'Hello World' : 'Hell\(.*\)rld'
o Wo
O encuentra el índice del primer char en la cadena de búsqueda
Esto generará el
expr: syntax erroren Mac OS X , porque usa BSD expr que no tiene el comando de índice, mientras que expr en Linux es generalmente GNU expr
expr index hello l
3
expr index 'hello' 'lo'
3