Bash 中的参数扩展
参考1)
${parameter:-word}
返回默认值 $parameter ?? "word"
${parameter:=word}
设置默认值 $parameter = $parameter ?? "word"
${parameter:?word}
如果变量未设置,则退出并输出 word;否则返回变量 $parameter ?? die("word")
${parameter:+word}
如果变量未设置,返回空;否则返回 word empty($parameter) ? $parameter : "word"
${parameter:offset}
或者 ${parameter:offset:length}
子字符串 ${parameter: -offset}
尾部字符串
${#parameter}
数组长度
以下涉及 pattern 为文件名展开语法,非正则
${parameter#word}
从开头删除最短的 word pattern (ltrim)
${parameter##word}
从开头删除最长的 word pattern
${parameter%word}
从结尾删除最短的 word pattern (rtrim)
${parameter%%word}
从结尾删除最长的 word pattern
${parameter/pattern/string}
查找替换
${parameter^pattern}
变量首字母匹配 pattern 中提到的字母,如果匹配,转大写
${parameter^^pattern}
变量逐字母匹配 pattern 中提到的字母,如果匹配,转大写
${parameter,pattern}
变量首字母匹配 pattern 中提到的字母,如果匹配,转小写
${parameter,,pattern}
变量逐字母匹配 pattern 中提到的字母,如果匹配,转小写