${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

最新文章

  1. 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
  2. 关于获取web应用的文件路径的注意事项
  3. MySQL 教程分享
  4. linq/EF/lambda 比较字符串日期时间大小
  5. Circle3Quit数到三的人退出
  6. Binary Search--二分查找
  7. angularjs2 学习笔记(四) 路由
  8. css 动画效果
  9. 求一列的和,awk和perl哪个快?
  10. SQL中and与or优先级比较
  11. windows 8 vpn 错误解决
  12. [转]C++强制类型转换
  13. js实现浏览器添加收藏功能
  14. 【17-06-16】Java入门测试题,测测你基础知识掌握程度(附答案及个人解析)
  15. 这20个常规Python语法你都搞明白了吗?
  16. @Param注解
  17. 大杂烩 -- 四种生成和解析XML文档的方法详解
  18. 二叉树df
  19. matlab用法总结
  20. 大话https演化过程(对称加密、非对称加密、公钥、私钥、数字签名、数字证书)

热门文章

  1. Vim 在 windows 环境下的初步配置
  2. Spring mvc之 发邮件(qq.163...)
  3. bootstrap-table操作之“删除”
  4. 51 nod 1211 数独 DLX
  5. Codeforces Round #336 (Div. 2)【A.思维,暴力,B.字符串,暴搜,前缀和,C.暴力,D,区间dp,E,字符串,数学】
  6. c语言字符相关函数
  7. [国嵌笔记][017][Makefile工程管理]
  8. C++异常层次结构
  9. vue-cli创建的项目中引入第三方库报错 'caller', 'calle', and 'arguments' properties may not be...
  10. Swift2