变量替换
符号 | 含义 |
${var} | 变量,界定范围 |
${var:-word} | 如果var为空或者未设定,返回word,var不变 |
${var:=word} | 如果var为空或者未设定,返回word,且var=word |
${var:+word} | 如果var有值,返回word,var不变 |
${var:?word} | 如果变量var为空或者未设定,返回word并退出shell,word没有值则输出:parameter null or not set,用于检测var是否被正常赋值 |
${var-word} | 如果var未设定,返回word,如果var未空或者有值,返回var |
${var:num} | 返回var中第num个字符到末尾的所有字符,正从左往右,负从右往左,有空格:${var: -2},没有空格:${var:1-3}或${var:(-2)} |
${var:num1:num2} | 从var的第num1个位置开始,提取长度为num2的子串。num1是位置,num2是长度 |
${var/word1/word2} | 将var中第一个匹配到的word1替换为word2 |
${var//word1/word2} | 将var中所有word1替换为word2 |