Как вы поднимаете m до силы n? Я искал это повсюду. Я обнаружил, что запись m ** n должна работать, но это не так. Я использую #!/Bin/sh
Shell-скрипты: повышайте мощность
Ответ 1
Я бы попробовал калькулятор bc. Подробнее см. http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.html.
например.
$ echo '6^6' | bc
Дает 6 мощности 6.
Ответ 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