开发者社区> 问答> 正文

shell script 中关于两个括号的问题

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH

s=0
i=0
while [ "$i" != "100"]
do
    i=$ ( ($i+1) )
    s=$ ( ($s+$i) )
done
echo "the result ==> $S"


请问为什么错?我是按照鸟哥的linux私房菜第三部分写的。
#显示的错误为 unexpected token '('

展开
收起
a123456678 2016-06-21 10:13:28 1835 0
1 条回答
写回答
取消 提交回答
  • #!/bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    export PATH
    
    s=0
    i=0
    while [ "$i" != "100" ]
    do
        i=$(($i+1))
        s=$(($s+$i))
    done
    echo "the result ==> $s"

    除了双括号操作符那里多加了空格,题主]之前少了空格,输出里用的$S而不是$s
    写shell一定要注意空格的问题,不能随意增删

    2019-07-17 19:44:32
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载