这将返回1:if ( "$TERM" =~ "xterm*" ) echo 1但这些没有返回任何内容:if ( "$TERM" =~ "(xterm*|rxvt*)" ) echo 1if ( "$TERM" =~ "(xterm|rxvt)*" ) echo 1如何在csh中进行OR正则表达式比较?先谢谢你了。
if ( "$TERM" =~ "xterm*" ) echo 1
if ( "$TERM" =~ "(xterm*|rxvt*)" ) echo 1
if ( "$TERM" =~ "(xterm|rxvt)*" ) echo 1
jv4diomz1#
C-Shell的=~运算符的右操作数不是RegEx模式,而是glob模式。从this documentation我发现:
=~
运算符'=~'和'!~‘就像’!='和'==',只是右侧是一个全局模式(参见文件名替换),左手操作数与之匹配。
1条答案
按热度按时间jv4diomz1#
C-Shell的
=~
运算符的右操作数不是RegEx模式,而是glob模式。从this documentation我发现:运算符'=~'和'!~‘就像’!='和'==',只是右侧是一个全局模式(参见文件名替换),左手操作数与之匹配。