• shell编程——判断条件


    shell编程中有两种形式进行对判断条件进行测试:

    形式一:test

    形式二:[    ]

    举个小例子说明其用法及其注意事项:

    例子:判断文件 "new.txt" 是否存在,存在现实“exist', 不存在现实”not  exitst"

    test -e new.txt && echo "exist" || echo "not exist" 
    
    [ -e new.txt ] && echo "exist" || echo "not exist"
    

    执行结果:

             

    实现细节说明:当一次执行很多命令式&&、 ||很有用处,它们是从前往后依次执行。

            对于&&:当前面执行条件正确时,执行&&之后的,错误就停住了

              对于||:当前面的执行条件错误时,执行||之后的,正确就停住了。

                         因此根据&&、||的特性可以对条件作出一个模式“条件 && 执行1|| 执行2”。当条件为真时执行1;当为假时“条件&&执行1”绝对为假,因此执行2

    注意事项:

    • [ -e  new.txt ]中每个字符(包括[、 -e、 new.txt、 ])都有空格。[-e  new.txt]是不正确的。
    • [   ]里面的变量名要用" "引起来,如[ "$filename" -e]
    • [   ]里面的常量要用引号(单或双引起来)

    下面把判断条件列举下:

            

            

            

            

            

            

            

     下面整个案例实战一把:

    1.提示用户输入文件名

    2.判断文件名是否存在。若不存在,提示“文件不存在”,退出程序;否则继续执行

    3.判断文件名是文件还是目录

    4.判断文件名的权限(r w x)

    #!bin/bash
    read -p "Input the filename:" filename
    test -z "You must input a filename." && exit 0
    #判断是否存在
    test ! -e $filename && echo "The file $filename DO NOT exist." && exit 0
    #判断文件名类型
    test -f $filename && filetype="rugulre file"
    test -d $filename && filetype="directory"
    #判断文件执行权限
    test -r $filename && perm="readable"
    test -w $filename && perm="writable"
    test -x $filename && perm="execuate"
    #输出结论
    echo "The file $filename is a $filetype"
    echo "And the permission is: $perm"
  • 相关阅读:
    网络兼职轻松赚
    微信H5支付demo
    支付宝H5支付demo
    笔记本安装SSD固态硬盘详细的优化设置
    JQuery的AJAX
    第二次面试
    存储过程的总结
    SQl数据操作和查询
    面对考试毫无畏惧的SSH
    掷骰子-IOS新手项目练习(抱歉,由于个人原因,图片没显示,要源码的项目私聊)
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/2981487.html
Copyright © 2020-2023  润新知