免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2812 | 回复: 4
打印 上一主题 下一主题

在sh中如何用test命令判断字符串是否包含大写的M [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-06 09:51 |只看该作者 |倒序浏览
在sh中如何用test命令判断字符串是否包含大写的M

谢谢

论坛徽章:
0
2 [报告]
发表于 2006-07-06 09:54 |只看该作者
利用grep的返回值

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
3 [报告]
发表于 2006-07-06 10:03 |只看该作者
  1. [ "$var" = "${var//T/}" ]
复制代码

论坛徽章:
0
4 [报告]
发表于 2006-07-06 10:24 |只看该作者
好像有问题啊,下面是脚本

# more testscript
#!/bin/sh
var="M23";
if var={var//M/}  ; then
echo true  ;
else
echo fault  ;
fi

var2=M23
if var2={var2//M/}  ; then
echo true  ;
else
echo fault  ;
fi

var3=P2
if var3={var3//M/}  ; then
echo true  ;
else
echo fault  ;
fi

var4=`cat card`;
var4=P2
if var4={var3//M/}  ; then
echo var41true  ;
else
echo var41fault  ;
fi
if var4={var4//T/}  ; then
echo var42true  ;
else
echo var42fault  ;
fi

var5=`cat card2`;
var5=P2
if var5={var3//M/}  ; then
echo var51true  ;
else
echo var51fault  ;
fi
if var5={var5//T/}  ; then
echo var52true  ;
else
echo var52fault  ;
fi
# more card
M01
# more card2
P1
# chmod +x testscript
# ps   
   PID TTY      TIME CMD
29118 pts/2    0:00 sh
29162 pts/2    0:00 ps
# testscript
testscript: not found
# ./testscript
true
true
true
var41true
var42true
var51true
var52true
#

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
5 [报告]
发表于 2006-07-06 11:00 |只看该作者
建议把shell语法复习3遍。
条件语句逻辑上有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP