zoukankan      html  css  js  c++  java
  • shell编程基础(2)---&&与||

    shell 编程重要的应用就是管理系统,对于管理系统中成千上万的程序而言,查询某个文件名是否存在,并且获取该文件名所指代文件基本信息是系统管理员的基本任务。shell命令可以很轻松的完成这项任务。

    #program this is a example for ################
    #########     command test     ################
    read -p "type in the filename:        " filename  
    test -z $filename &&echo "you must put in a legal name"&&exit 0

    //连续的&&表示命令是顺序执行的,前一个执行成功才能执行后一个中间有任何一个环节错误,则返回报错信息

    test ! -e $filename &&echo "not exist" &&exit 0
    test -e $filename &&echo "exit"

    这里想实现实现的功能是,如果文件不存在则退出script,本来想写作

    test -e $filename&&echo "exit"||echo"not exit"&&exit 0

    但是发现这样无论filename是否存在,程序都会在这里退出
    因为如果文件存在,则test传回一个0值,||判断后执行echo "exit",然后又传回一个0值,&&判断后执行exit 0
    如果test 传回一个非0值,则||判断后执行echo "not exit",传回0值,&&判断后还是执行exit 0;
    如果写成

    test -e $filename ||echo "not exit"&&echo "exit"

    如果存在,test返回非0,执行echo "exit"
    如果不存在,则test返回0,执行echo "not exit"
    echo "not exit" 又返回0,再执行echo "exit"
    所以没办法在一条语句中判断并推出。

    test -f $filename &&filetype="file"
    test -d $filename &&filetype="dictory"
    test -r $filename &&perm=" readable"
    test -w $filename &&perm=${perm}" writable"
    test -x $filename &&perm=${perm}" execuable"

    /perm=${变量}”__”表示在变量后补充___

    echo "file type is $filetype and the mod is $perm"
    exit 2

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    中国年薪 ¥30 万和美国年薪$ 10 万的生活水平异同
    汽车之家CMDB设计思路 – 汽车之家运维团队博客
    平民软件 | 中间件
    FIT2CLOUD
    ZeroBrane Studio
    新炬网络-领先数据资产运营商 | 数据资产管理 | 数据库运维 | 自动化运维
    中国(南京)软件开发者大会
    夏仲璞 | 全球软件开发大会北京站2016
    Nginx下流量拦截算法 | 夏日小草
    docker~dockertoolbox的加速器
  • 原文地址:https://www.cnblogs.com/ironstark/p/4892642.html
Copyright © 2011-2022 走看看