LINUX shell 遇到的问题. 我想计算1+2+3+4.到100

1个回答

  • 这里 i 是当做计数器用的,每次循环递增1.r 是当做累加器用的,将 i 的值进行累加.

    这里没有用for循环,而是用的while循环,其实是一样的,而且while循环更为通用(sh不支持for循环).

    循环的次数也是有定义的,while [ "$i" != "100" ]这句就是定义,只要 i 没递增到100,就会一直循环.其实这句从语义上来说是不对的,这里是整数的比较而不是字符串的比较,所以比较符应该用-ne而不要用!=,即,应该写成 while [ $i -ne 100 ]

    下面是个更为简单的实现,你可以体会一下(shell中的变量其实不需要初始化,自有其默认值).

    #!/bin/bash

    for i in {1..100}

    do

    r=$((r+i))

    done

    echo $