shell特殊扩展变量

注意的是每个表达式内的冒号都是可选的,如果省略了表达式中的冒号,以为这每个定义中的‘为空或未赋值’部分改为‘未赋值’

shell特殊扩展变量演示

${正式变量:-备用变量}:- 的作用如果变量值为空或未赋值,这回返回字符串替代变量的值,如果变量未定义,则返回备用的值,防止变量为空值或因未定义导致异常!

[root@6 tmp]# echo $test    #test这个变量并未设置,所以输出的结果为空。

[root@6 tmp]# result=${test:-unset}    #定义一个result的变量名,其中test没有值,则返回unset

[root@6 tmp]# echo $result    #打印result的变量,因为test没有被赋值,所有返回unset

unset

${正式变量:=备用变量} :=的定义:如果正式变量值为空或未赋值,则设置这个变量未替补,并返回其值,位置变量和特殊变量不适用。

作用:基本同一个变量${正式变量:=备用变量},但该变量又额外给了正式变量赋值。(就是替补变量变成正式变量)

如图所示:

[root@6 tmp]# unset result   #取消result的变量的定义

[root@6 tmp]# result=${test:=beiyong}

[root@6 tmp]# echo $test

beiyong

因为test的正式变量是空没有赋值的,所以用:-代表备用的参数直接顶替!

当变量result值里的变量没有被定义时,会给变量result赋值:=后面的内容,同时会把:=后面的内容赋值给变量result值里面没有定义的变量!

这个变量的功能可以解决变量没有定义的问题,并确保没哟㐉的变量始终有值!

${正式变量:?备用变量} 作用:如果正式变量值为空或未赋值,那么备用字符串将被作为标准输出否则输出变量的值!(了解)

${正式变量:+备用变量} 作用:如果正式变量未空或未赋值,则什么都不做,否则备用的字符串将替代正式变量的值。(了解)

北大青岛_深圳嘉华_shell特殊变量演示(六)总结相关推荐

  1. 北大青岛_深圳嘉华_shell特殊变量演示(五)生产环境下使用变量子串

    需求:批量的将系统文件中的文件名Drugs去掉. ①创建测试文件 touch sta_20190726_drugs.jpg sta_20190727_drugs.jpg sta_20190728_dr ...

  2. SQL 登录注入脚本_深圳嘉华学校之SQL 注入

    SQL Server 2005 联机丛书 SQL Injection 是一种攻击方法,它可以将恶意代码插入到以后将传递给 SQL Server 供分析和执行的字符串中.任何构成 SQL 语句的过程都应 ...

  3. hadoop使用mapreduce统计词频_深圳嘉华学校之Hadoop简介(什么是Map-Reduce-Mapreduce-about云开发)...

    Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰 ...

  4. action请求_深圳嘉华学校之Action方法返回类型

    Action方法返回类型 . Action方法返回类型 . Void . 简单或复杂类型 . HttpResponseMessage . IHttpActionResult . 自定义返回类型 在前面 ...

  5. 北大青鸟嘉华学院python_北大青鸟深圳嘉华:Python好学吗?

    原标题:北大青鸟深圳嘉华:Python好学吗? Python作为近两年随着人工智能一道火起来的语言,很多人知道Python,但是并不清楚的了解.你可能听说过C语言,听说过java语言,php语言,we ...

  6. 北大青鸟深圳嘉华分享MySQL基础知识

    命令行连接MySQL mysql -h localhost -u root -p mysql -u root -p #1.数据库的创建和删除 #1.1创建数据库 CREATE DATABASE MyS ...

  7. 北大青鸟深圳嘉华学校分享Hibernate查询

    1.Hibernate查询方式 1.get|load(class,id):OID查询 2.HQL(Hibernate Query Lanage):HQL查询 3.QBC(Query By Criter ...

  8. 北大青鸟深圳嘉华分享MySQL用户管理

    1.创建用户 CREATE USER teacher@localhost IDENTIFIED BY '123456'; CREATE USER student IDENTIFIED BY '1234 ...

  9. 北大青鸟深圳嘉华学校分享Hibernate关联映射

    关联映射: 1.关于n:1 使用emp和dept进行举例 单项多对一: emp: entity:+private Dept dept: hbm.xml:+ dept无需修改 双向一对多:emp:ent ...

最新文章

  1. 当代大学生对学习Linux的一点拙见
  2. 生态伙伴 | Worktile入驻飞书,助力企业轻松实现敏捷开发与协作
  3. KiFastCallEntry() 机制分析
  4. [Qt教程] 第25篇 数据库(五)SQL表格模型QSqlTableModel
  5. 安装php-redis遇到Error: Package: php-pecl-igbinary-1.2.1-1.el7.x86_64 (epel)
  6. maven中的module及聚合项目
  7. java 调用foxmail_Javamail简单使用案例
  8. 谈Flash中的鼠标响应
  9. 有钱人的学习能力,穷人该得好好模仿
  10. phpcms v9前台getshell
  11. bash学习之环境变量
  12. [Verilog] 实现数字钟(自动计时+手动校准+倒计时+设置闹钟)附完整源代码
  13. Spring @Aspect、@Before、@After 注解实现 AOP 切面功能
  14. 交叉编译工具链的安装以及介绍
  15. matlab奈奎斯特图画法,振荡环节 奈奎斯特图和波特图的绘制
  16. Java毕设项目-社区居民健康档案管理系统
  17. eregi php 5.2,PHP5.3x不再支持ereg和eregi
  18. hive计算周是一年的第几周
  19. [附源码]计算机毕业设计springboot基于Vue的社区拼购商城
  20. GDI+绘图基础,绘制表格

热门文章

  1. 编译原理实验-递归下降语法分析器的构建
  2. 支持中标麒麟系统的运维监控软件——WGCLOUD
  3. 振南的znFAT FAT32文件系统
  4. Hdu 3666(差分约束系统)
  5. 硬件设计 之摄像头分类(IR摄像头、mono摄像头、RGB摄像头、RGB-D摄像头、鱼眼摄像头)
  6. HBase Windows 安装
  7. win10下安装并启动zookeeper
  8. 深入剖析智能仓储管理(WMS)应用价值与应用场景
  9. Vivado18.3-Zynq PS的开发流程(Hello World) 学习笔记
  10. c语言学生成绩统计表人数比例,计算机等级考试成绩分析(2010-2013).doc