scripts - Shell scripting: elevar al poder
scripts en bash linux (5)
El administrador de mi sistema no instaló dc
así que agregando a otras respuestas correctas, apuesto a que no has pensado en esto -
a=2
b=3
python -c "print ($a**$b)"
>> 8
trabaja en bash / shell.
¿Cómo elevas m al poder de n? He buscado esto en todas partes. Lo que encontré fue que escribir m ** n debería funcionar pero no funciona. Estoy usando #! / Bin / sh
Usar $ n ** $ m realmente funciona. Tal vez no uses la sintaxis correcta para evaluar una expresión matemática. Así es como obtengo el resultado en Bash:
echo $(($n**$m))
o
echo $[$n**$m]
Los corchetes aquí no están destinados a ser como el evaluador de prueba en la instrucción if, por lo que puede usarlos sin espacios también. Personalmente prefiero la sintaxis anterior con paréntesis redondos.
Usted podría usar dc. Esta
dc -e "2 3 ^ p"
rendimientos
8
Yo probaría la calculadora bc. Consulte http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.html para obtener más detalles y ejemplos.
p.ej.
$ echo ''6^6'' | bc
Da 6 a la potencia 6.
bc
es una solución elegante. Si quieres hacer esto en bash:
$ n=7
$ m=5
$ for ((i=1, pow=n; i<m; i++)); do ((pow *= n)); done
$ echo $pow
16807
$ echo "$n^$m" | bc # just to verify the answer
16807