您的位置:首页 > 运维架构 > Shell

Shell Scripts 简单实战 (二)

2014-10-09 21:35 337 查看
1.利用test指令测试功能

    test -[] filename

            -e :该文件是否存在

            -f :该文件是否存在且是file

            -d :该文件名存在且是否为目录

            -b :是否存在且是block device

            -c :是否存在且是character device

            -S:是否存在且是Socket

            -P:是否存在且是pipe

    test -[rwxugks] filename

        

    test  file1 -[] file2

            -nt:(newer than)判断file1是否比file2新

            -ot:(older than)判断file1是否比file2旧

            -ef:判断是否为同一文件

    test -z string :判断字符串是否为空

    test str1=str2

 实例演示:

        输入一个文件夹,测试这个文件类型,权限等信息。

 


  


2.利用判断符号[]:

    注意:使用中括号两端必须要有空格来分割,在中括号里不能使用符号如:|| ,&&等

    [ "$HOME" == "$MAIL" ]

    在中括号[]内的每一个组件需要空格键来分割;

    在括号内的变数,最好斗医双引号括起来

    在括号内的常数,最好都以单或双引号括起来

实例演示:



    
3.shift:

    会移动变量,而且shift后面可以接数字,代表拿掉前面的几个参数的意思

实例演示:

 




你可以看到当输入五个参数时,每shift一次就会,参数的就会变少,并且支持一次跳过多个参数

4.条件判断式:

if....then

单层条件判断式:

if[条件判断式];then

    成立执行的指令

fi #结束判断

    [ "$yn" == "Y" -o "$yn" == "y" ]

    可以替换为:

    [ "$yn" == "Y" ] || [ "$yn" == "y"]

多层判断

if[判断条件];then

    成立,执行命令

else

    不成立,执行命令

fi

if[判断条件];then

        条件一成立,执行命令

elif[条件二];then

        条件二成立,执行命令

else

if        

实例演示:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux bash 实例