怎么在SHELL里查看一个变量是否包含某个字符串

2025-04-14 15:36:11
推荐回答(1个)
回答1:

除了用外部的命令比如expr、awk、sed等等,内置方法可以用截取、替换等方式得到一个新的字符串,如果新的字符串和原来的字符串有变化,说明变量包含字符串。

用替换为例:查找变量a【值复制为hello world】中是否有  字符串or


截取、替换的方法如下:

${string#substring}    从变量$string的开头, 删除最短匹配$substring的子串    

${string##substring}    从变量$string的开头, 删除最长匹配$substring的子串    

${string%substring}    从变量$string的结尾, 删除最短匹配$substring的子串    

${string%%substring}    从变量$string的结尾, 删除最长匹配$substring的子串      

${string/substring/replacement}    使用$replacement, 来代替第一个匹配的$substring    

${string//substring/replacement}    使用$replacement, 代替所有匹配的$substring    

${string/#substring/replacement}    如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring    

${string/%substring/replacement}    如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring