zoukankan      html  css  js  c++  java
  • shell script 二 判断符号【】 shift 偏移量 if then fi

    判断符号【】类似于test。但是【】有通配符及正则表达式,为了区分,利用【】来做判断时,前后都需要加空格来区分。又一个坑

    【 -z "$HOME" 】;echo $?

    例:

    1 read -p "Please input (y/n):" yn
    2 [ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK,continue" && exit 0
    3 [ "$yn" == "N" -o "$yn" == "n" ] && echo "Oh,interrupt" && exit 0
    4 echo "i donnot know what your choice is " && exit 0
    有几个要点。[]一定要加空格。这是必须的。 “$yn” == "Y" 也一定要加空格,否则只会打印 OK,continue。也就是说,没事加个空格没毛病。但是不要加空格的时候,千万不要加空格,上篇博客就是个例子。。。。这个坑一定要填实了。要不然,问题都找不到原因出在哪。

    还有[]跟test完全是一样的,所以test那些判断啊什么的特殊控制,在这都可以用。例如上图例子中的-o。这个就是连接两个前后表达式任何一个成立都执行的意思,说白了就是  “或”

    Shell script 的默认变数 ($0,$1...)

    什么意思。意思就是某个shell script的先后执行某命令的顺序。图例

    file /etc/init.d/network

    /etc/init.d/network restart 这个后面跟着的restart就是命令,关键是,restart后面还可以跟很多命令,1 2 3 。。。script达成这个功能其实就是对参数设定好了一些变量的名称了。如下图

    所以太才会依次执行,除了这些数字变量之外,我们还有一些比较特殊的变量来呼叫这些参数,如下图

    例:

    1 echo "The script name is ==> ${0}"
    2 echo "total parameter number is ==> $#"
    3 [ "$#" -lt 2 ] && echo "The number of parameter is less than 2. stop here."& & exit 0
    4 echo "your whole parameter is ==>'$@'"
    5 echo "the 1st parameter ==>${1}"
    6 echo "the 2nd parameter ==>${2}"
    执行结果如下

     shift  参数偏移

    shift+数字,代表你要拿掉的参数的数量。从第一个参数开始。这个到底有啥用???百度一下,查了一大顿,都是一堆shift的用法云云,至于意义和作用,压根就没有,如果有人看到我的疑问,不吝赐教。谢谢

    多重判断 if then fi

     几个要点

    if xxxx ;then

    aaaaa

    fi                    判断之后要加 ; then

    if xxxxx ;then

    aaaaa

    else

    bbbbbbbbbb

    fi                    else后面什么都不要加

    if xxxxx ;then

    aaaaaa

    elif xxxxxx;then

    bbbbbbb

    else

    cccccccc

    fi                        elif后面跟if一样,都要加  ;then

  • 相关阅读:
    [算法] 神秘数
    教你在Access数据库中如何使用SQL
    亚宇工资管理系统早年制作的一个很小的商业软件[源码和软件截图]
    亚宇工资管理系统早年制作的一个很小的商业软件[源码和软件截图]
    getkeyTw
    一个硬盘的感人的爱情故事!只此一篇
    码农如何快速打造一个有设计感的网站
    NK.bin和NK.nb0学习
    WINCE6.0 + S3C2443的启动过程nboot篇
    S3C2443时钟管理
  • 原文地址:https://www.cnblogs.com/Lonelychampion/p/11244831.html
Copyright © 2011-2022 走看看