linux shell 字符串操作

最近在写shell脚本,发现了一些shell 字符串的骚操作,可以提升效率。

字符串读取

${var} : 变量var的值

${var-DEFAULT} : 如果var没有被声明,var的值就是$DEFAULT

${var:-DEFAULT} : 如果var没有被声明,或者为空,var的值就是$DEFAULT

${var=DEFAULT} : 如果var没有被声明,var的值就是$DEFAULT

${var: =DEFAULT} : 如果var没有被声明,或者为空,var的值就是$DEFAULT

${#var} : 得到 $var的长度

字符串操作

${#string} : $string 的长度

${string:position} : 从$position位置开始的子字符串

${string:position:length} : 从$position位置开始,长度为length的子字符串

${string#substring} : 从头开始,删除最短匹配$substring的字符串

${string##substring} : 从头开始,删除最长匹配$substring的字符串

${string%substring} : 从结尾开始,删除最短匹配$substring的字符串

${string%%substring} : 从结尾开始,删除最长匹配$substring的字符串

${string/str1/str2} : 使用str2替换第一个匹配的$str1

${string//str1/str2} : 使用str2替换所有匹配的$str1

${string/#str1/str2} : 如果$string的前缀和$str1匹配,用$str2替换$str1

${string/%str1/str2} : 如果$string的后缀和$str1匹配,用$str2替换$str1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfzgx.html