前言

  • 本文主要是参考了鸟哥写的《鸟哥的Linux私房菜》。因为总是在各种脚本中见到:-的用法而只是了解其大概含义,所以翻阅了相关资料,编写此博文以作记录

Shell中冒号在变量赋值时的各种特殊用法

变量设定方式 str变量没有设定时 str为空字符串时 str已经设定为非空字符串时
var=${str-expr} var=expr var="" var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var="" var=expr var=expr
var=${str:+expr} var="" var="" var=expr
var=${str=expr} str=expr
var=expr
str 不变
var=""
str 不变
var=$str
var=${str:=expr} str=expr
var=expr
str=expr
var=expr
str 不变
var=$str
var=${str?expr} expr 输出至 stderr var="" var=$str
var=${str:?expr} expr 输出至 stderr expr 输出至 stderr var=$str

End~

Shell中冒号的特殊用法相关推荐

  1. linux系统冒号模式map怎么用,shell中冒号 : 用途说明

    我们知道,在Linux系统中,冒号(:)常用来做路径的分隔符(PATH),数据字段的分隔符(/etc/passwd)等.其实,冒号(:)在Bash中也是一个内建命令,它啥也不做,是个空命令.只起到占一 ...

  2. shell中的 case in 用法

    shell中的 case in 用法 用法case;in;esac都是shell关键字expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行 ...

  3. java中冒号:的用法

    转自: http://blog.sina.com.cn/s/blog_ab345e5d01011luk.html java中冒号(:)的用法 你见到的冒号是在哪个地方的,java中不同的地方的冒号的作 ...

  4. shell中sed命令的用法

    sed (stream editor)流编辑器也是linux中的一条命令,在shell中经常需要用到的非交互式修改文件内容的命令.sed处理文本是按行处理,也就是读一行处理一行. sed的命令基本格式 ...

  5. shell中#*,##*,#*,##*,% *,%% *的含义及用法

    介绍下Shell中的${}.##和%%使用范例,本文给出了不同情况下得到的结果. 假设定义了一个变量为: 代码如下: file=/dir1/dir2/dir3/my.file.txt 可以用${ }分 ...

  6. Linux Shell中有三种引号的用法

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  7. shell 中 if 和 else 用法详解

    基本语法 shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格(其实shell对所有语法的空格使用都比较严格),如果在需要空格的地方没有打 ...

  8. Shell中的Wget 的用法

    Wget 的用法 -V 版本信息 -h 帮助信息 -b 后台执行Wget  -o filename 把记录放在文件filename  -a filename 把记录附加在文件filename -d 显 ...

  9. Shell中declare -A的用法?

    请教一下在shell里这个declare -A 是的用法,-A代表什么参数?为什么执行结果不是按顺序输出的?

最新文章

  1. 1029 C语言文法定义
  2. android 如何使用aar,Android Studio如何使用aar依赖包?
  3. Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!
  4. No module factory available for dependency type: CssDependency
  5. python原理及代码_lightgbm原理以及Python代码
  6. 策略模式思想及示例代码(Strategy)
  7. 基于angularjs的单页面实例_【进展综述】单阶段实例分割(Single Stage Instance Segmentation)...
  8. Address already in use: bind 端口被占用的解决办法
  9. C++版 - 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解
  10. i7-9700与E5 2667 V2空载功耗对比
  11. WPF DataGrid 数据绑定
  12. 毫米波雷达及其应用精炼介绍
  13. 6. 机器人正运动学---齐次变换矩阵的三种解读
  14. 如何防止恶意点击手机短信验证码
  15. vscode 上使用 SDCC 工具链开发 8051(DHT11温湿度传感器示例)
  16. java+桌球小游戏图片_java实战之桌球小游戏
  17. Python无法打开excel文档解决办法
  18. php htmlpurifier,htmlpurifierPHP过滤库
  19. 无理数存在性的几何证明
  20. 查看检测排名各网站的网站

热门文章

  1. Vegas 使用教程(三)视频比例和素材去黑边
  2. php随机图片github,GitHub - JockieLee/Random-Image: 随机图片服务
  3. 《植物大战僵尸》开发商PopCap或10亿美元出售
  4. qq163音乐网归属问题释疑
  5. 微信小程序重叠排版,降低image层级问题
  6. 戒网瘾学校有没有正规的?专家告诉你实情
  7. Pandas之数据标准化
  8. 第三方个人免签支付工具
  9. 【验证码一】验证码Demo
  10. 票据识别android代码,深度学习开源ocr识别票据