Linux下shell中case命令详解

 
Linux下shell中case命令详解
2016-09-26 19:33:11 /故事大全

linux下shell中的case名字和C/C++中的switch类似,但是shell中的case更强大和复杂。

1、强大主要体现在:shell中case中的关键字可以是字符串类型,而每一项中可以包含正则表达式。

2、复杂主要体现在:shell中case的每一个项后有三个选择:break(常规的break)、unconditional follow up(无条件继续)和conditional follow up(有条件继续)。

这篇文章的重点是上面的第2点。

case的无条件继续和有条件继续是bash 4.1.x及之后的版本中才有的特性。

执行如下命令可以查看你当前bash的版本

echo $BASH_VERSION

常规的break是在每一项后面加;;

无条件继续是在每一项后面加;&

有条件继续实在每一项后面加;;&

测试代码

#!/bin/bashecho "Test No.1 ..."case "1" in 1) echo "1" ;;& 2) echo "2" ;; 3) echo "3" ;; ?) echo "?" ;; *) echo "*" ;;esacecho "Test No.2 ..."case "1" in 1) echo "1" ;; 2) echo "2" ;;& 3) echo "3" ;; ?) echo "?" ;; *) echo "*" ;;esacecho "Test No.3 ..."case "1" in 1) echo "1" ;& 2) echo "2" ;; 3) echo "3" ;; ?) echo "?" ;; *) echo "*" ;;esacecho "Test No.4 ..."case "1" in 1) echo "1" ;; 2) echo "2" ;& 3) echo "3" ;; ?) echo "?" ;; *) echo "*" ;;esac

测试结果:

Test No.1 ...1?Test No.2 ...1Test No.3 ...12Test No.4 ...1

所属专题:
如果您觉得本文或图片不错,请把它分享给您的朋友吧!

 
搜索
 
 
广告
 
 
广告
 
故事大全
 
版权所有- © 2012-2015 · 故事大全 SITEMAP站点地图-Foton Auman手机看故事 站点地图-Foton Auman