www.whkt.net > shEll 判断变量中是否包含某个字符串

shEll 判断变量中是否包含某个字符串

比如变量是str str="this is a string" 要想在判断str中是否含有"this"这个字符串,下面的语句是可行的 [[ $str =~ "this" ]] && echo "\$str contains this" [[ $str =~ "that" ]] || echo "\$str does NOT contain this" 其实这里就是用到了"[[" 判断命令和 "=~"正则式匹配符号

shell的字符处理功能不够强. 或者可以用正则表达式做. 推荐用tcl

比如变量是str str="this is a string" 要想在判断str中是否含有"this"这个字符串,下面的语句是可行的 [[ $str =~ "this" ]] && echo "\$str contains this" [[ $str =~ "that" ]] || echo "\$str does NOT contain this" 其实这里就是用到了"[

echo $A | grep $B再看看别人怎么说的.

[[ "${var1/$var2/}" != "$var2" ]] && echo "include" || echo "not" 其他方法: expr或awk的index函数${var//} #是否包含@INFILE@字符串的判断 if echo "$ctl_file"|grep -q "@INFILE@" then #分隔符前字符串 echo "${ctl_file%%@

grep命令 比如 echo "你的字符数串" | grep "你要匹配的字符串" --color

read -p "请输入一个字符串" str if echo "$str"|grep "[a-zA-Z]" >/dev/null &&echo "$str"|grep "[0-9]" >/dev/null then echo "yes" else echo "no" fi

1、字符串判断1)str1 = str2 当两个串有相同内容、长度时为真 ;2)str1 != str2 当串str1和str2不等时为真 ;3)-n str1 当串的长度大于0时为真(串非空) ;4)-z str1 当串的长度为0时为真(空串) ;5)str1 当串str1为非空时为真.

if [ -e filename ];我觉得是你括号错了…此外这种括号不能用通配符…试试[[]]?不行可以用for代替if

[ echo "dhjcdghbabcjjfdjcd" | grep abc ]&&COMMAND1||COMMAND2

友情链接:pdqn.net | pxlt.net | zxpr.net | dfkt.net | ncry.net | 网站地图

All rights reserved Powered by www.whkt.net

copyright ©right 2010-2021。
www.whkt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com