linux之bash变量
2015-09-05 21:26
381 查看
bash变量之高级部分1.变量扩展
${变量名称} 变量扩展 例如:${filename}
$(命令) 命令替换 例如:$(ls /)
$((算术式)) 算式扩展 例如:$((9+9))
变量扩展:一种简易的条件判断,对不同的条件赋予变量不同的替换值,是一种隐含的“if-then-else”的程序语法
判断变量存在与否的基本语法:${待测变量-默认值}
口诀:有就传存在的,没有,就传入默认值
存在与否或者为空:${待测变量-:默认值}
口诀:有就传存在的,没有或者空,就传入默认值
存在与否或者为空:${待测变量:=默认值}
口诀:给不存在或者为空的变量,设定默认值
存在与否或者为空,输出提示信息:${待测变量:?提示信息}
目的:在脚本中,为了检测变量为空或者不存在,输出提示信息,以防止脚本出现严重问题
测试变量的存在性:${待测变量:+真值}
目的:测试变量存在,存在而且有值,即是真
整理图片请查看附件
变量为字符串时,切片取子串的用法:
大致有两种:1.${变量:位置起点} 2.${变量:位置起点:长度}
取传入字符串的长度:${#变量名称} 此方法的扩展应用:${#数组[@]}或者${#数组[*]}均为取数组元素的个数
样式对比应用:${变量#样式} 从最左边开始,对比变量值,删除“最短相符合字符串”
${变量##样式} ... “最长相符合字符串”
${变量%样式} 从最右边开始,对比变量值,删除“最短相符合字符串”
${变量%%样式}.... “最长相符合字符串”
取代或删除部分字符串
${变量/样式/替换字符串}:只替换第一个对比符合的字符串
${变量//样式/替换字符串}:替换所有符合的字符串
${变量/样式}:删除第一个符合的字符串
${变量//样式}:删除所有符合的字符串
附件:http://down.51cto.com/data/2366098
${变量名称} 变量扩展 例如:${filename}
$(命令) 命令替换 例如:$(ls /)
$((算术式)) 算式扩展 例如:$((9+9))
变量扩展:一种简易的条件判断,对不同的条件赋予变量不同的替换值,是一种隐含的“if-then-else”的程序语法
判断变量存在与否的基本语法:${待测变量-默认值}
口诀:有就传存在的,没有,就传入默认值
存在与否或者为空:${待测变量-:默认值}
口诀:有就传存在的,没有或者空,就传入默认值
存在与否或者为空:${待测变量:=默认值}
口诀:给不存在或者为空的变量,设定默认值
存在与否或者为空,输出提示信息:${待测变量:?提示信息}
目的:在脚本中,为了检测变量为空或者不存在,输出提示信息,以防止脚本出现严重问题
测试变量的存在性:${待测变量:+真值}
目的:测试变量存在,存在而且有值,即是真
整理图片请查看附件
变量为字符串时,切片取子串的用法:
大致有两种:1.${变量:位置起点} 2.${变量:位置起点:长度}
取传入字符串的长度:${#变量名称} 此方法的扩展应用:${#数组[@]}或者${#数组[*]}均为取数组元素的个数
样式对比应用:${变量#样式} 从最左边开始,对比变量值,删除“最短相符合字符串”
${变量##样式} ... “最长相符合字符串”
${变量%样式} 从最右边开始,对比变量值,删除“最短相符合字符串”
${变量%%样式}.... “最长相符合字符串”
取代或删除部分字符串
${变量/样式/替换字符串}:只替换第一个对比符合的字符串
${变量//样式/替换字符串}:替换所有符合的字符串
${变量/样式}:删除第一个符合的字符串
${变量//样式}:删除所有符合的字符串
附件:http://down.51cto.com/data/2366098
相关文章推荐
- linux之bash配置文件
- Powershell常用命令
- Shell命令——格式化输出
- Shell命令——归档备份
- Shell命令——包管理
- Shell命令——环境
- Shell命令——进程
- Shell命令——权限管理
- Shell命令——文件内容
- Shell命令——文件目录
- Shell命令——存储系统
- Shell命令——时间日期
- Shell命令——使用命令
- Shell命令行操作
- Shell命令行操作
- Centos安装自定义布局才能自己划分各个区的大小ctrl+z ,fg ,route -n ,cat !$ ,!cat ,XShell 设置, ifconfig CentOS远程连接 第一节课
- shell中的特殊符号总结
- bash基础和环境变量相关配置
- bash环境(变量与bash配置文件)
- Linux系统中vim、find、bash环境变量、文件系统权限及磁盘管理相关命令