Функции в bash не имеют именованных параметров. Вы не можете сделать:
area (foo) { ...
function area (foo) { ...
Вы можете сделать:
area () {
local radius a # set a local variable that does not leak outside the function
radius=$1 # Save the first parameter to local variable
a=$(( 3 * radius * 2 ))
echo "$a"
}
И затем:
echo "$(area "$REPLY")" # use $REPLY as the first argument
Поскольку return устанавливает статус выхода функция, тогда как $(area) использует выход функции. Это разные.
Кроме того, хотя bash не поддерживает арифметику с плавающей запятой, она поддерживает возведение в степень:
$ bash -c 'echo $((3 * 3 ** 2))'
27
Удалите версию 1.18 Менделей и вернитесь к правилу 1.17.3. Я сделал это, и теперь он работает
Удалите версию 1.18 Менделей и вернитесь к правилу 1.17.3. Я сделал это, и теперь он работает
Удалите версию 1.18 Менделей и вернитесь к правилу 1.17.3. Я сделал это, и теперь он работает
Удалите версию 1.18 Менделей и вернитесь к правилу 1.17.3. Я сделал это, и теперь он работает