Bash高级变量

Bash高级变量

1、测试变量“存在与否”的基本用法
语法:${待测变量-默认值}
解释:若变量不存在,返回默认值

语法:${待测变量:-默认值}
解释:若变量不存在或其值为空,返回默认值

语法:${待测变量:=默认值}
解释:若变量不存在或其值为空,给变量赋予默认值

语法:${待测变量:?提示信息}
解释:若变量不存在或其值为空,显示提示信息,不再继续执行

语法:${待测变量:+真值}
解释:若变量存在且其值非空,则传回”真值“,若不然,传回空值

2、变量扩展(取字符串切片、字符串长度)
语法:${变量:位置起点}
解释:由指定位置开始(起点的下一个),截取子字符串到字符串结束

语法:${变量:位置起点:长度}
解释:由指定的位置开始,截取指定长度的子字符串

语法:${@:起点}
解释:由起点开始,取得后面所有位置参数

语法:${@:起点:个数}
解释:由起点开始,取得制定个数的位置参数

语法:${#变量名称}
解释:传回变量值的字符串长度

语法:${#数组[@]}
解释:取得数组元素个数

语法:${#数组[*]}
解释:取得数组元素个数

语法:${变量#样式}
解释:从最左面开始对比变量值,删除”最短相符合的字符串“

语法:${变量##样式}
解释:从最左面开始对比变量值,删除”最长相符合的字符串“

语法:${变量%样式}
解释:从最右面开始对比变量值,删除”最短相符合的字符串“

语法:${变量%%样式}
解释:从最右面开始对比变量值,删除”最长相符合的字符串“

语法:${变量/样式/替换字符串}
解释:若变量中有符合样式的字符串(取最长的),则使用替换字符串予以取代,只替换第一个对比符合的字符串

语法:${变量//样式/替换字符串}
解释:若变量中有符合样式的字符串(取最长的),则使用替换字符串全部予以取代

语法:${变量/样式/}
解释:删除第一个符合样式的字符串

语法:${变量//样式/}
解释:删除全部符合样式的字符串

语法:${变量/#样式/}
解释:删除第一个符合样式的字符串,从变量开头开始对比

语法:${变量/%样式/}
解释:删除全部符合样式的字符串,从变量尾部开始对比

3、取变量名称
语法:${!开头字符串@}或{!开头字符串*}
解释:把所有以指定字符串开头的变量名称列出

4、取数组索引列表
语法:${!数组变量[@]}或${!数组变量[*]}
解释:把数组变量所有索引列出

5、命令替换
变量名称=$(命令)
变量名称=`命令`

2 Replies to “Bash高级变量”

  1. 补充2个
    ${数组变量[*] /样式/}
    删除数组内所有元素中第一个符合样式的字符串

    ${数组变量[*] //样式/}
    删除数组内所有元素中全部符合样式的字符串

发表评论

电子邮件地址不会被公开。 必填项已用*标注