You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Shell脚本中指数运算符**无法使用的原因是什么?

Shell脚本幂运算报错解决

问题说明

运行pow.sh脚本计算2的3次方时,出现如下报错:

pow.sh: 5: arithmetic expression: expecting primary: "2 ** 3"

报错原因

你当前使用的Shell(如Ubuntu默认的dash)不支持**作为幂运算符号,**是bash、zsh等Shell的专属语法,dash这类轻量Shell不兼容该写法。

解决办法

1. 指定bash解释器运行脚本

在pow.sh开头添加bash的解释器声明:

#!/bin/bash

或者直接用bash命令执行脚本:

bash pow.sh

2. 使用POSIX兼容的工具计算幂

用bc工具实现跨Shell的幂运算,示例代码:

result=$(echo "2^3" | bc)
echo $result

3. 循环实现幂运算(纯Shell逻辑)

如果依赖纯Shell语法,可通过循环计算:

base=2
exponent=3
result=1
for ((i=0; i<exponent; i++)); do
    result=$((result * base))
done
echo $result

内容的提问来源于stack exchange,提问作者Smriti Sinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:40:40