world scripts script hello example basics shell exponential

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



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