使用for语句创建一个shell程序,其功能为1+2+...+n

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:41:22

classic shell scripting style

x=0
for i in 1 2 3 4 5 6 7 8 9 10
do
x=`expr $i + $x`
done
echo $x

with bash

x=0
for i in {1..10}
do
x=$((i + x))
done
echo $x

------修改答案------------------

楼下提示,我误会了问题,呵呵,最快是这样

with bash

#! /bin/bash

case "$#" in
0) printf "Enter a number: "
read
n=$REPLY
;;
*) n=$1
;;
esac
x=$(( (1 + $n) * $n / 2 ))
echo "Tne value of 1 + 2 + 3....+$n = $x"

以上脚本比用 loop 快得多, 呵呵

楼上的是1+2+..+10,不是到n。

#/bin/bash
read -p "what's n? :" n
s=0
for (( i=1; i<=$n; i=i+1))
do
s=$(( $s+$i ))
done
echo "1+2+...+$n = $s"