学习笔记——shell中测试变量是否已经设置
2010-07-23 15:14
633 查看
在学习shell编程过程中遇到的小细节,在此记下。
1、shell中测试变量是否已经设置的两种方法
${variable:-value}
${variable:=value}
2、两种方法的相同点
如果variable已经被设置过,则两种方法都不对变量进行任何操作
3、两种方法的不同点
如果variable还未被设置过,则两种方法的操作便出现差异:
a)${variable:-value}在该句中对variable进行替换
b)${variable:=value}会对variable进行实实在在的赋值
4、举例
若进行如下操作:
$ NAME=taotaotheripper
$ echo Your name is ${NAME:-dandantheripper}
$ echo Your name is ${NAME:=dandantheripper}
输出结果为:
Your name is taotaotheripper
Your name is taotaotheripper
若继续进行如下操作:
$ unset NAME
$ echo Your name is ${NAME:-dandantheripper}
$ echo ${NAME}
$ echo Your name is ${NAME:=dandantheripper}
$ echo ${NAME}
输出结果为:
Your name is dandantheripper
Your name is dandantheripper
dandantheripper
其中第一次操作并未真正对NAME进行赋值,只是在当句进行了替换。
1、shell中测试变量是否已经设置的两种方法
${variable:-value}
${variable:=value}
2、两种方法的相同点
如果variable已经被设置过,则两种方法都不对变量进行任何操作
3、两种方法的不同点
如果variable还未被设置过,则两种方法的操作便出现差异:
a)${variable:-value}在该句中对variable进行替换
b)${variable:=value}会对variable进行实实在在的赋值
4、举例
若进行如下操作:
$ NAME=taotaotheripper
$ echo Your name is ${NAME:-dandantheripper}
$ echo Your name is ${NAME:=dandantheripper}
输出结果为:
Your name is taotaotheripper
Your name is taotaotheripper
若继续进行如下操作:
$ unset NAME
$ echo Your name is ${NAME:-dandantheripper}
$ echo ${NAME}
$ echo Your name is ${NAME:=dandantheripper}
$ echo ${NAME}
输出结果为:
Your name is dandantheripper
Your name is dandantheripper
dandantheripper
其中第一次操作并未真正对NAME进行赋值,只是在当句进行了替换。
相关文章推荐
- 【转】shell学习笔记(三)——引用变量、内部变量、条件测试、字符串比较、整数比较等
- shell中测试命变量是否已经定义
- shell的学习笔记——变量的设置规则
- shell小记-测试环境变量是否被设置
- shell学习笔记一 变量
- Linux Shell 学习笔记(三)--Shell变量
- LINUX系统学习笔记管道符和作业控制 ,shell变量 , 环境变量配置文件
- Shell 变量 学习笔记
- Shell学习笔记(7)-高级变量之算术运算
- shell学习笔记(二)shell变量与运算符
- shell学习笔记:变量相关
- 【shell】shell编程学习笔记之特殊变量($0、$1、$2、 $?、 $# 、$@、 $*)
- Shell学习笔记---变量
- Shell 编程学习笔记:条件测试
- 【转】shell学习笔记(二) ——shell变量
- shell判断当前输入的名称是否为目录(shell学习笔记三)
- Shell学习笔记(6)-高级变量之变量扩展
- Shell学习笔记---变量赋值与运算---待完善
- Shell 学习笔记之变量