美文网首页
从零开始学习Linux(三十八):Shell基础之变量测试与内容

从零开始学习Linux(三十八):Shell基础之变量测试与内容

作者: 通靈鹿小六 | 来源:发表于2020-12-29 08:34 被阅读0次

    本小节内容不用完全死记硬背,知道有这个知识点。遇到的时候能够理解其意思,等到需要用到的时候查询表格就好。

    1、变量测试与内容替换

    用来测试一个变量到底有没有设置。

    变量置换方式 变量y不存在 变量y为空值 变量y值非空
    x=${y-新值} x=新值 x为空 x=$y
    x=${y:-新值} x=新值 x=新值 x=$y
    x=${y+新值} x为空 x=新值 x=新值
    x=${y:+新值} x为空 x为空 x=新值
    x=${y=新值} x=新值 y=新值 x为空 y值不变 x=$y y值不变
    x=${y:=新值} x=新值 y=新值 x=新值 y=新值 x=$y y值不变
    x=${y?新值} 新值输出到标准错误输出 x为空 x=$y
    x=${y:?新值} 新值输出到标准错误输出 新值输出到标准错误输 x=$y

    从表格中可以看到:
    ${y-新值} 和 ${y:-新值}是一组;
    ${y+新值} 和 ${y:+新值}是一组;
    ${y=新值} 和 ${y:=新值}是一组;
    ${y?新值} 和 ${y:?新值}是一组;

    一共有-+=?四个分类,每个分类中分为两个,一个是带冒号一个不带冒号。这样子就感觉比较好记了。

    1.1、举例x=${y-新值}

    以第一行作为例子,我们来讲一下整个表格的意思。

    1.1.1、当y变量不存在的时候x=新值

    删除变量y,并且定义x=${y-新值},此时变量是不存在的,所以x=新值。执行命令:

    [root@VM-0-8-centos ~]# unset y
    [root@VM-0-8-centos ~]# x=${y-123}
    [root@VM-0-8-centos ~]# echo $x
    

    命令执行结果,如下图所示:

    1.1.2、当y变量为空值的时候x为空

    定义变量y为空值,并且定义x=${y-新值},此时x为空值。执行命令:

    [root@VM-0-8-centos ~]# y=""
    [root@VM-0-8-centos ~]# x=${y-123}
    [root@VM-0-8-centos ~]# echo $x
    

    命令执行结果,如下图所示:

    1.1.3、当y变量值非空的时候x为y的值

    定义变量y为456,并且定义x=${y-新值},此时x为y值。执行命令:

    [root@VM-0-8-centos ~]# y="456"
    [root@VM-0-8-centos ~]# x=${y-123}
    [root@VM-0-8-centos ~]# echo $x
    

    命令执行结果,如下图所示:

    1.2、举例x=${y:-新值}

    剩下的变量替换方式可以自行测试验证一下。

    相关文章

      网友评论

          本文标题:从零开始学习Linux(三十八):Shell基础之变量测试与内容

          本文链接:https://www.haomeiwen.com/subject/kqnlnktx.html