#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "输入你要从1开始求和到的那个数 :" su
i=0
s=0
read -p " 是否开始y or n " yn
while [ "$yn" = "y" ] || [ "$yn" = "Y" ]
do
while [ "$i" -le "$su" ]
do
s=$(($i+$s))
i=$(($i+1))
done
echo "求和结果为:"$s
read -p " 还要继续吗Y or n? " yn
done
注意:这个shell要实现起来是很简单的,但写时要注意以下几点:(1)while与[之间一定要有一个空格,[与"#yn’’之间有空格,"#yn’’与=,"y"与]之间都要有空格,否则会语法错误.(2)就是s=$(($i+$s))的写法,和在C语言中s=s+i不同,可以用declare -i i s 来定义变量i,s 则可写成 s="$i"+"$s" i="$i"+1
本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/308285