LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1122|回复: 7

请教test中的=~是什么意思

[复制链接]
发表于 2008-11-12 11:08:29 | 显示全部楼层 |阅读模式
碰到了类似
if [[ $a =~ "abc" ]]
then
...
的脚本, 请问=~是什么意思呢?多谢
发表于 2008-11-12 12:20:32 | 显示全部楼层
-bash: conditional binary operator expected
-bash: syntax error near `=~'
回复 支持 反对

使用道具 举报

发表于 2008-11-12 12:21:33 | 显示全部楼层
~$ if [ $a =~ "abc" ]; then
> echo 1
> else
> echo 2
> fi
-bash: [: =~: unary operator expected
2
回复 支持 反对

使用道具 举报

发表于 2008-11-12 12:53:33 | 显示全部楼层
=~ 代表正则表达式匹配

楼上出错的原因是 $a 没定义。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-12 14:01:05 | 显示全部楼层
Post by poet;1907500
=~ 代表正则表达式匹配



可以详细解释一下吗?=~是说紧跟后面的表达式中有正则表达式,那和=~左面的值判断什么关系?相等?多谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-12 20:43:33 | 显示全部楼层
Post by poet;1907500
=~ 代表正则表达式匹配

楼上出错的原因是 $a 没定义。


谢谢,了解了
回复 支持 反对

使用道具 举报

发表于 2008-11-13 08:47:28 | 显示全部楼层
if [[ "$a" =~ "abc" ]]
then

这样会不会好点?
回复 支持 反对

使用道具 举报

发表于 2008-11-13 10:36:52 | 显示全部楼层
Post by anguskwan;1907831
if [[ "$a" =~ "abc" ]]
then

这样会不会好点?


对最佳状态,兄弟细节很厉害。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表