• 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

  • 相关阅读:
    [BZOJ3671][UOJ#6][NOI2014]随机数生成器
    [BZOJ3670][UOJ#5][NOI2014]动物园
    [UOJ#131][BZOJ4199][NOI2015]品酒大会
    [BZOJ4530][Bjoi2014]大融合 LCT + 启发式合并
    有趣的题目名称,有趣的题目
    [BZOJ2959]长跑——新技能:LCT+缩圈
    贴一下WC总结里提到的那道裸题吧。。。
    System and method for assigning a message
    http请求
    jQuery 语法
  • 原文地址:https://www.cnblogs.com/Lonelychampion/p/11244831.html
Copyright © 2020-2023  润新知