【转】SHELL variables default value, ${var:-DEFAULT}和${var=DEFAULT}的一点区别
${var:-DEFAULT}和${var=DEFAULT}的区别:
${var:-DEFAULT} If var not set or is empty, evaluate expression as $DEFAULT
${var=DEFAULT} If var not set, evaluate expression as $DEFAULT
如下例子,var先被赋值为空,然后用“=”赋值不会影响var的值,但用":-"操作符时可以改变var的值:
-----------------------------------------------------------------------
administrator@ubuntu:~/文档$ var=
administrator@ubuntu:~/文档$ echo ${var=z}
administrator@ubuntu:~/文档$ echo ${var:-z}
z
------------------------------------------------------------------------
还有一个例子就时对positional parameters的赋值,如对$1进行赋值就不能使用“=”,因为“=”只能用于一般的变量,也就是变量名以字母或下划线开头的变量,而":-"可以用来指定参数默认值:
administrator@ubuntu:~/文档$ echo ${1=xz}
bash: $1: cannot assign in this way
administrator@ubuntu:~/文档$ echo ${1:-xz}
xz
转自:http://blog.csdn.net/feixingfei/article/details/7079916
最新文章
- 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
- 关于获取web应用的文件路径的注意事项
- MySQL 教程分享
- linq/EF/lambda 比较字符串日期时间大小
- Circle3Quit数到三的人退出
- Binary Search--二分查找
- angularjs2 学习笔记(四) 路由
- css 动画效果
- 求一列的和,awk和perl哪个快?
- SQL中and与or优先级比较
- windows 8 vpn 错误解决
- [转]C++强制类型转换
- js实现浏览器添加收藏功能
- 【17-06-16】Java入门测试题,测测你基础知识掌握程度(附答案及个人解析)
- 这20个常规Python语法你都搞明白了吗?
- @Param注解
- 大杂烩 -- 四种生成和解析XML文档的方法详解
- 二叉树df
- matlab用法总结
- 大话https演化过程(对称加密、非对称加密、公钥、私钥、数字签名、数字证书)
热门文章
- Vim 在 windows 环境下的初步配置
- Spring mvc之 发邮件(qq.163...)
- bootstrap-table操作之“删除”
- 51 nod 1211 数独 DLX
- Codeforces Round #336 (Div. 2)【A.思维,暴力,B.字符串,暴搜,前缀和,C.暴力,D,区间dp,E,字符串,数学】
- c语言字符相关函数
- [国嵌笔记][017][Makefile工程管理]
- C++异常层次结构
- vue-cli创建的项目中引入第三方库报错 'caller', 'calle', and 'arguments' properties may not be...
- Swift2