Linux下的shell编程入门(三)

来源:互联网 发布:聚宝盆软件怎么样 编辑:程序博客网 时间:2024/05/21 06:21

四、循环结构语句

shell常见的循环语句有for循环、while循环、until循环

for 循环

语法:for 变量 in 列表

      do

          操作

      done

注:变量是要在循环内部用来指代当前所指代的列表中的那个对象的。

列表是在for 循环的内部要操作的对象,可以是字符串也可以是文件,如果是文件则为文件名。

例:删除垃圾箱中的所有.gz文件

#delete all file with extension of “gz” in the dustbin

for I in $HOME/dustbin/*.gz

do

    rm –f $i

    echo “$i has been deleted!”

done

执行结果如下:

[beichen@localhost bin]$.f_rmgz

/home/beichen/dustbin/nessus-4.0.0.2.tar.gz has been deleted!

/home/beichen/dustbin/gftp-2.2.1.tar.gz has been deleted!

While循环

语法:while 表达式

      do

      操作

      done

只要while表达式成立,dodone之间的操作就一直会进行。

until循环

语法:until 表达式

      do

      操作

      done

重复dodone之间的操作直到表达式成立为止。

:

#test until

#add from 1 to 100

total=0

num=0

until test num –eq 100

do

   total=`expr $total + $num` //注意,这里的引号是反引号,下同

   num=`expr $num+1`

done

echo “The result is $total”

执行结果如下:

[beichen@localhost bin]$until

The result is 5050!

五、条件语句

Shell程序中的条件语句主要有if语句、case语句;

If语句

语法:if 表达式1 then

        操作

      elif 表达式2 then

          操作

      elif 表达式3 then

          操作

      …..

      else

          操作

      fi

Linux里的if的结束标志是将if反过来写成fi;而elif其实是else if的缩写

其中elif理论上可以有无限多个。

Case语句

语法:case 字符串 in

      1|2)

          操作::

      3|4)

          操作::

5|6)

          操作::

      *}

          操作::

       esac

case的作用就是当字符串与某个值相同是就执行那个值后面的操作。如果同一个操作对于多个值,则使用”|”将各个值分开。在case的每一个操作的最后面都有两个”::”,分号是必须的。

例:

case $USER in

beichen)

   Echo “You are beichen!”;;

liangnian)

   echo “You are liangnian”;  //注意这里只有一个分号

   echo “Welcome!”;;   //这里才是两个分号

root)

   echo “You are root!:echo Welcome!”;; //将两命令写在一行,用一个分号作为分隔符

*)

  echo “Who are you?$USER?”;;

esac

执行结果:

[liangnian@localhost bin]$ test

You are liangnian

Welcome!

关于shell编程基础的东西就介绍这么多,如果你想更进一步了解shell编程的知识,请查阅相关书籍。

 
原创粉丝点击