Оценка математического выражения в скрипте Bash - PullRequest
2 голосов
/ 17 апреля 2011
echo “Enter the value of variable x” 
read x 
echo “Enter the value of variable y” 
read y
answer="\( $x + $y \) \* \( $x + $y \) \* \( $x + $y \)  = $(( $x + $y ) * ($x + $y) * ($x + $y))"

Я хочу, чтобы программа нашла (x + y) ^ 3, и, пожалуйста, дайте мне знать, каким должен быть код

Ответы [ 4 ]

3 голосов
/ 17 апреля 2011

Нет необходимости использовать bc, вместо этого вы можете использовать встроенную арифметику Bash:

echo $((($x+$y)**3))

2 голосов
/ 17 апреля 2011

Вам не хватает нескольких паренов.

Исправлено:

answer="\( $x + $y \) \* \( $x + $y \) \* \( $x + $y \)  = $(( ($x + $y ) * ($x + $y) * ($x + $y) ))"

Надеюсь, это поможет.

PS, как будто вы новый пользователь, еслиВы получите ответ, который поможет вам, не забудьте пометить его как принятый и / или дать ему + (или -) в качестве полезного ответа.

1 голос
/ 09 мая 2012

Вы также можете использовать:

let ОТВЕТ = (x + y) ** 3

1 голос
/ 17 апреля 2011

Это можно сделать просто используя bc как:

$(echo "$(($x+$y))^3" | bc)

или просто с помощью bash (благодаря lecodesportif):

$((($x+$y)**3))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...