Bash 脚本中的默认值

一、-+=? 的使用

unset test_var
echo 测试 - 符号:如果变量未定义,使用提供的值
echo 未初始化变量处理结果:"${test_var-DEFAULT_VALUE}"
echo 变量值:"$test_var"
test_var=NEW_VALUE
echo 已初始化便令处理结果:"${test_var-DEFAULT_VALUE}"
echo 变量值:"$test_var"

echo =====================================

unset test_var
echo 测试 + 符号:如果变量已定义,使用提供的值
echo 未初始化变量处理结果:"${test_var+DEFAULT_VALUE}"
echo 变量值:"$test_var"
test_var=NEW_VALUE
echo 已初始化便令处理结果:"${test_var+DEFAULT_VALUE}"
echo 变量值:"$test_var"

echo =====================================

unset test_var
echo 测试 = 符号:如果变量未定义,使用提供的值,同时使用这个值为变量赋值
echo 未初始化变量处理结果:"${test_var=DEFAULT_VALUE}"
echo 变量值:"$test_var"
test_var=NEW_VALUE
echo 已初始化便令处理结果:"${test_var=DEFAULT_VALUE}"
echo 变量值:"$test_var"

echo =====================================

unset test_var
echo 测试 ? 符号:变量未定义时,显示问号后面内容作为错误信息
echo 未初始化变量处理结果:"${test_var?DEFAULT_VALUE}"
echo 变量值:"$test_var"
test_var=NEW_VALUE
echo 已初始化便令处理结果:"${test_var?DEFAULT_VALUE}"
echo 变量值:"$test_var"

二、:-:+:=:? 的使用

使用方法与前面说的不带 : 的方法 类似,区别在于使用了 : 之后,会认为空字符串也是变量值未定义状态。

(完)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本传参 基本应用如下: shell中参数处理相关说明: $*与$@区别 相同点:都是引用所有变量 不同点:只有在...
    阡陌晗雪阅读 4,336评论 0 3
  • 参考链接: https://wangdoc.com/bash/index.html 控制多条命令的继发 命令的组合...
    yellowone阅读 3,770评论 0 0
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 12,558评论 1 19
  • 什么是 Makefile 呢? Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链...
    JackHCC阅读 13,644评论 0 2