if [ "${MYSQLCOM:=-NO-}" = "-YES-" ] ; then

对其中的“:=”很是不解,开始使用“:=”作为关键字搜索,没有获得有用的信息,后来直接搜索冒号在shell中的用途,发现很多有人有这样的疑惑,我也搞明白上面表达式的意思。简单来说,就是当冒号前面的变量不存在或值为空时,就把等号后的值赋值给变量。举例来说:

#/bin/bash#例1
var=1
echo $var
#输出 1
var=2
echo $var
#输出 2#上述操作就是简单对变量赋值,后面的回覆盖前面的#例2
unset var
#删除先前定义变量,防止对下面的操作产生影响
echo $var
#输出空: ${var=1}
echo $var
#输出 1
: ${var=2}
echo $var
#输出 1#上述操作也是对变量赋值,但与例1有些不同,赋值是放在${}中
#第一个输出很容易理解,第二个输出为什么还是 1 呢
#因为变量已经存在,所以不执行赋值操作
#注意:行首的冒号(:)是做什么呢,如果没有这个符号,那么在脚本中会把赋值后字符作为命令来执行,
#冒号是linux中一个内置的命令,相当于true,其实是啥也不做,空命令,
#冒号后的赋值作为命令的参数来解析,而不是执行#例3
unset var
echo $var
: ${var:=1}
echo $var: ${var:=2}
echo $var#本例很例2差不多,得到的结果是一样,区别就是赋值一个用的是"=",
#另一个用的":=",看下面的例子就知道他们之间的区别了unset var
echo $var
var=""
#赋值为空
: ${var=1}
echo $var
#输出空unset var
echo $var
var=""
: ${var:=1}
echo $var
#输出1#结论:使用"="时,当变量不存在(未申明)才对其复制,
#而":="是变量不存在或值为空时才对其赋值

shell中:=的作用相关推荐

  1. shell中的mput_FTP命令详解 及 shell中的使用

    FTP命令详解 FTP的命令格式为:ftp-v-u-d-i-n-g[IP地址]-v显示远程服务器的所有响应信息(verbose:详细,繁冗)-n限制ftp的自动登录,即不使用-d使用调试方式(debu ...

  2. Shell编程规范与变量(shell编程规范,执行脚本文件的四种方式,管道符号与重定向,shell变量的作用于类型)

    文章目录 Shell脚本概述 Shell脚本的概念 Shell的作用 Shell编程规范 重定向与管道 Shell脚本变量 自定义变量 特殊变量 Shell脚本概述 Shell Script ,She ...

  3. shell脚本的作用

    脚本(script)就是包含一系列命令的一个文本文件.Shell 读取这个文件,依次执行里面的所有命令,就好像这些命令直接输入到命令行一样.所有能够在命令行完成的任务,都能够用脚本完成. 脚本的好处是 ...

  4. shell中的while

    shell中的while 基本语法 while [ 条件判断式 ] do 程序 done 应用实例 案例 1 :从命令行输入一个数 n,统计从 1+..+ n 的值是多少? #!/bin/bash#案 ...

  5. shell中$的作用

    shell中使用$符号来取一个变量的值,常见的就是$VAR或者${VAR},为了搞懂其它$#,$@,$0,$1,$2,$*,$$,$?的意义,我们可以写一个测试脚本运行下: #! /bin/bashV ...

  6. SHELL中if的使用

    shell中if的使用 shell中if的基本使用 shell中if的基本使用 SHELL中if中条件表达式的使用 shell中if的整数比较 shell中if的浮点数比较 shell中if的字符比较 ...

  7. shell 中 time的使用

    装载 : https://codingstandards.iteye.com/blog/798788 用途说明 time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date ...

  8. shell中except 的使用

    文章目录 except 的介绍 except 的使用 转载于: http://blog.chinaunix.net/uid-20690190-id-1894513.html 感谢 except 的介绍 ...

  9. linux 脚本 ,shell中的与

    在linxu中,前一个命令执行的结果正确,则Linux会回传一个$?=0的值. 如果要继续根据此回传值来判断后续的指令是否要执行,此时就要考虑使用&&及||运算符. 例一:使用 ls ...

  10. shell中的wait

    cat test1 | uniq > newtest1 & cat test2 | uniq > newtest2 & wait diff newtest1 newtest ...

最新文章

  1. 【跃迁之路】【554天】程序员高效学习方法论探索系列(实验阶段311-2018.08.13)...
  2. 前1000位粉丝的诞生
  3. python流程控制-python 流程控制语句
  4. 动手开发第一个 Cypress 测试应用
  5. 怎样分辨谁才是朋友圈里的真·贵族?
  6. Spring中父子容器的实现实例
  7. with as 语句真的会把数据存内存嘛?(源码剖析)
  8. Android【报错】java.lang.RuntimeException: Unable to start activity Activity无法打开的问题
  9. Learun敏捷框架甘特图——摆脱项目管理的泥沼
  10. Kotlin 1.4 版本正式发布:新功能一覽
  11. 如何录用有竞业限制协议的员工?
  12. python范围缩放_如何缩放到初始绘图/缩放的特定范围?
  13. 我的世界android官方版,我的世界Minecraft中国版官方网站——你想玩的,这里都有...
  14. axios 的简单增删查改 使用json-server启动的josn
  15. 物联网卡不能上网是怎么回事?
  16. 在滴滴和头条两年半的工作感悟,人间真实,绝对干货
  17. lua运行外部程序_在C语言程序中嵌入Lua脚本
  18. 技术人员如何快速提高管理能力和领导力
  19. 计算机常用软件工具试题,计算机常用工具软件试题-20210402163232.docx-原创力文档...
  20. kettle详细使用oracle教程,Kettle入门教程(详细介绍控件使用方法)_kettle详细使用教程,kettle控件介绍...

热门文章

  1. 联想计算机游戏本,2021十大游戏本排行(最佳游戏笔记本电脑推荐)
  2. 李咏去世引发的一些感想
  3. android主题商店,主题商店免费版
  4. PG的两种集群技术:Pgpool-II与Postgres-XL
  5. 用js编程输出100以内所有的质数和个数(提示:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数都是质数)...
  6. python爬虫设计刷博客访问量(刷访问量,赞,爬取图片)
  7. (3)UOS家庭版软件商店,常用软件安装测试
  8. python雪花代码讲解_Python程序:雪花+烟花
  9. 1000瓶药水,其中至多有1瓶剧毒
  10. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第04章 编写结构化程序