亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 如何測試一個變量是否匹配一系列字符串中的某一個? [打印本頁]

作者: 一堆亂碼    時間: 2007-12-10 16:00
標題: 如何測試一個變量是否匹配一系列字符串中的某一個?
比如:
i=123

要測試[[ $i == (123|456|789) ]] 類似的是否為真    (中間的(123|456|789)是瞎寫的)
作者: ly5066113    時間: 2007-12-10 16:03
echo $i | egrep -q '123|456|789' && echo "true"
作者: 一堆亂碼    時間: 2007-12-10 16:03
除了case以外的方法
作者: 寂寞烈火    時間: 2007-12-10 16:24

作者: springwind426    時間: 2007-12-10 16:24

  1. [ -n "$(echo $var | grep -E -o '(123|456|789)')" ] && echo 匹配  ||  echo 不匹配
復(fù)制代碼

作者: 一堆亂碼    時間: 2007-12-10 16:28
原帖由 寂寞烈火 于 2007-12-10 16:24 發(fā)表
就是和[[ $i ==  123 ]]  -o  [[ $i ==  456 ]]  -o  [[ $i ==  789 ]]
上面表達式為真,返回結(jié)果為真一樣的意思

[ 本帖最后由 一堆亂碼 于 2007-12-10 17:28 編輯 ]
作者: 一堆亂碼    時間: 2007-12-10 16:30
原帖由 ly5066113 于 2007-12-10 16:03 發(fā)表
echo $i | egrep -q '123|456|789' && echo "true"
原帖由 springwind426 于 2007-12-10 16:24 發(fā)表

[ -n "$(echo $var | grep -E -o '(123|456|789)')" ] && echo 匹配  ||  echo 不匹配

我是想測試表達式是否為真,可能我前面沒說清楚
作者: 一堆亂碼    時間: 2007-12-10 16:37
。。。。

[ 本帖最后由 一堆亂碼 于 2007-12-10 16:41 編輯 ]
作者: 一堆亂碼    時間: 2007-12-10 17:58
為啥[[ $i ==  123 ]]不支持  {123,456}類似的通配符呢?
作者: 無聲無息    時間: 2007-12-10 22:53
有-o就行了了,為什么一定要用“|”呢




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2