do
echo "===========================================
** (1)计算1到n的奇数之和; **
** (2)计算1到n的阶乘; **
** (3)计算1到n的所有质数; **
** (4)退出程序。 **
=========================================="
read -p "Please enter function select and number:" m n
[ $m -eq 4 ]&&exit
if echo $m|grep "^[1-4]$" >/dev/null&&echo $n|grep "^[1-9][0-9]*$" >/dev/null
then
break
fi
done
function sumodd()
{
result=0
i=1
while [ $i -le $1 ]
do
result=$(( result + i ))
i=$(( i + 2 ))
done
printf "sum odd from 1 to $1:%d\n" $result
}
function fact()
{
result=1
i=1
while [ $i -le $1 ]
do
result=$(( result * i))
i=$((i + 1))
done
printf "factorial from 1 to $1:%d\n" $result
}
function prime()
{
i=2
while [ $i -le $1 ]
do
j=2
while [ $j -lt $i ]
do
if [ $(( i % j)) -eq 0 ]
then
break
fi
j=$((j + 1))
done
if [ $i -eq $j ]
then
printf "%d\t" $i
fi
i=$((i + 1))
done
echo
}
case $m in
1) sumodd $n
2) fact $n
3) prime $n
*) exit $?
esac
shell是一个命令处理器(command processor)——是一个读入并解释你输入的命令的程序。除了是一个命令中断器以外,shell还是一个程序设计语言。你可以编写shell可以解释的程序(被称为源程序),这些源程序可以包含shell程序设计命令等等。shell除了解释命令以外,还有其他工作,它也可以配置和编程。shell拥有自己的语言允许用户编写程序并以一种复杂方式运行。shell编程语言具有许多常用的编程语言的特征,例如:循环和控制结构等。用户可以生成像其他应用程序一样复杂的shell程序。补充说明:简单的说 : shell 是一个交互性命令解释器。shell独立于 *** 作系统,这种设计让用户可以灵活选择适合自己的shell。shell让你在命令行键入命令,经过shell解释后传送给 *** 作系统(内核)执行。
一下是shell功能的一个汇总:
查找命令的位置并且执行相关联的程序。
为shell变量赋新值
执行命令替代
处理 I/O重定向和管道功能
提供一个解释性的编程语言界面,包括tests、branches和loops等语句
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)