Подтвердить что ты не робот

Shell-скрипты: повышайте мощность

Как вы поднимаете m до силы n? Я искал это повсюду. Я обнаружил, что запись m ** n должна работать, но это не так. Я использую #!/Bin/sh

4b9b3361

Ответ 2

Использование $n ** $m действительно действительно работает. Возможно, вы не используете правильный синтаксис для оценки математического выражения. Вот как я получаю результат на Bash:

echo $(($n**$m))

или

echo $[$n**$m]

Квадратные скобки здесь не должны быть похожими на оценщика тестов в выражении if, чтобы вы могли использовать их без пробелов. Я лично предпочитаю прежний синтаксис с круглыми скобками.

Ответ 3

с использованием bc - изящное решение. Если вы хотите сделать это в 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

Ответ 4

Вы можете использовать dc. Это

dc -e "2 3 ^ p"

дает

8

Ответ 5

Мой системный администратор не установил dc, поэтому, добавляя к другим правильным ответам, держу пари, вы об этом не подумали -

a=2
b=3
python -c "print ($a**$b)"
>> 8

работает в bash/shell.

Ответ 6

#! /bin/bash
echo "Enter the number to be done"
n=2
read m
let P=( $n**$m )
echo "The answer is $p"

       ОТВЕТ

Enter the number to be done
3
The answer is 8