shell入门之流程控制语句

标签: 流程控制linuxubuntu
992人阅读 评论(0) 收藏 举报
分类:

1.case


脚本:

#!/bin/bash
#a test about case
case $1 in
   "lenve")  echo "input lenve";;
   "hello")  echo "input hello";;
   [a-zA-Z]) echo "It's a letter";;
   [0-9]) echo "It's a number";;
esac

执行效果:
这里写图片描述


2.while


脚本(注意=两端不能有空格):

#!/bin/bash
#a test about while
a=1
while [ $a -lt 10 ]
do
  echo "hello world!${a}"
  a=`expr $a + 1`
done

输出:
这里写图片描述


3.until循环类似于while循环,不同的是until是判断条件为false时才会执行


#!/bin/bash
#a test about until
a=11
until [ $a -lt 10 ]
do
  echo "hello world!${a}"
  a=`expr $a + 1`
done

这是一个无限死循环,输出从hello world11到hello world无穷大。


4.break与continue


continue脚本

#!/bin/bash
#a test about continue
a=1
while [ $a -lt 10 ]
do
  if [ $a -eq 5 ]
  then
   a=`expr $a + 1`
   continue
  else
  echo "hello world!${a}"
  fi
  a=`expr $a + 1`
done

结果:

这里写图片描述

break脚本:

#!/bin/bash
#a test about break
a=1
while [ $a -lt 10 ]
do
  if [ $a -eq 5 ]
  then
   a=`expr $a + 1`
   break
  else
  echo "hello world!${a}"
  fi
  a=`expr $a + 1`
done

运行结果:
这里写图片描述


5.shift指令,参数左移,每执行一次,参数序列顺次左移一个位置,$#的位置减1。此指令可用来分别处理每个参数,移出去的参数不可再用。


一个求和的例子:

#!/bin/bash
#a test about shift
if [ $# -le 0 ]
then
echo "there is no parameters"
exit 0
fi
sum=0
while [ $# -gt 0 ]
do
  sum=`expr $sum + $1`
  shift
done
echo $sum

千万注意=两端不能有空格
运行结果:
这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1261570次
    • 积分:14991
    • 等级:
    • 排名:第791名
    • 原创:285篇
    • 转载:1篇
    • 译文:2篇
    • 评论:752条
    更多JavaEE资料请关注公众号
    博客专栏