您的位置:首页 > 运维架构 > Shell

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux之bash