Shell 脚本 if条件语句,for循环,case语句
(1)case语句是用来实现多个if..else的功能的,case会对字符串进行匹配,是从第一个模式开始的,如果有一个模式已经匹配成功的话,其他的模式就不会再进行匹配了。
#!/bin/sh
echo
"please yes or no"
read
input
#case语句的基本用法,记住每一个匹配后边都有双分号,代表本模式的结束和下一个#模式的开始,在进行通配符匹配的时候不要加双引号
case
"$input"
in
yes
)
"yes"
;;
y* )
"y*"
;;
y )
"y"
;;
no )
"no"
;;
n )
"n"
;;
* )
"default"
;;
esac
#合并匹配模式,case的匹配只能匹配一条,想要做到匹配多个结果使用如下的方式
in
y* | Y* )
;;
n* | N* )
;;
;;
esac
#一种更屌的匹配
in
[yY][eE][sS] | [yY] )
;;
[nN] | [nN][oO] )
;;
"default"
"end"
esac
exit
0
(2)shell编程使用到的循环语句,包括for循环,while循环,until循环,for后边跟一个变量,然后是一个集合,将集合中的东西赋给这个变量,每次循环执行,while循环和if使用同样的条件判断,满足条件执行语句,until和while相反,不满足条件执行语句。 #!/bin/sh echo #通配符扩展 done #while循环,后边和if一样跟的都是条件 #until循环和while相反,条件为假才执行 exit 0 (3)条件语句if的用法 echo "please input text1" #判断字符串是否为空,这里的判断记得在$text1俩边加上双引号 fi #算术比较 text1和text2中的内容只能是数字 fi echo "input a file or not file" fi #判断文件的大小是否为空 fi #判断文件的读写权限 exit 0 【echo后边的字符串最好用双引号引起来,以后凡是字符串最好都用双引号引起来,这可以避免一些很难查找到的bug】 不同引号对变量的作用: 双引号"":可解析变量,$符号为变量前缀。 单引号'':不解析变量,$为普通字符。 反引号``:将命令执行的结果输出给变量。 原文链接:http://www.aspzz.cn/article/55030.htm (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angularjs – 在嵌套模型上使用populate从Angular.js到Sail
- angularJs - $filter过滤器使用和自定义过滤器
- angularjs – Angular2:如何从父组件到子组件进行通信?
- typescript – Angular2使用值等价或引用相等来检测更改?
- webservice axis
- Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)
- Angular 5.0 学习8:Angular路由复用策略 (切换页面内容不丢
- osx – Vim无法保存文件(E212)
- axis客户端访问webservice方法(转)
- typescript – Angular2:通过指令将外部Component注入其他