03 shell编程之case语句与函数
本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正
Shell编程之case语句与函数
学习目标:
掌握case语句编程
掌握shell函数的使用
目录结构:
Case语句
Case语句的作用
l 使用case语句改写多分支可以使脚本结构更加清晰,层次分明
l 针对变量不同取值,执行不同的命令序列
Case语句的结构
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认命令序列
csac
case变量=模式1 ?是,则执行命令序列1,否,则判断变量=模式2 ?是,则执行命令序列2,否,则判断变量=模式3 ?是,则执行命令序列3,否,则执行默认命令序列。
实例:
l 击键类型识别脚本,判断输入的是字母还是数字还是其他字符
[root@poll ~]# vi a.sh
#!/bin/bash
#this is zifupanduan
read -p "请输入一个字符:" key
case $key in
[a-z]|[A-Z])
echo "您输入的是字母。"
;;
[0-9])
echo "您输入的是数字"
;;
[/]|[?]|[,])
echo "您输入的是$key"
;;
*)
echo "您输入的是其他字符"
esac
shell函数
l 将命令序列按格式写在一起
l 可方便重复使用命令序列
l Shell函数定义
[function] 函数名(){
命令序列
[return x]
}
l 调用函数的方法
[root@poll ~]# vi sum.sh
#!/bin/bash
#this is SUM
SUM(){
echo "这是一个求和运算"
read -p "请输入第一个数:" A
read -p "请输入第二个数:" B
echo "你输入的两个数分别为:$A $B"
SUM=$(($A+$B))
echo "两个数的和为:$SUM"
#return $(($A+$B))
}
SUM
#echo "两个数的和为:$?"
l Linux系统中有很多服务器启动脚本
定义了丰富的shell函数
嵌套了各种语句,如if语句等
可参考其编写的服务器启动脚本
[root@poll scripts]# vi /etc/init.d/network …… if [ -f /etc/sysconfig/pcmcia ]; then . /etc/sysconfig/pcmcia fi # Check that networking is up. [ "${NETWORKING}" = "no" ] && exit 6 # if the ip configuration utility isn't around we can't function. [ -x /sbin/ip ] || exit 1 CWD=$(pwd) cd /etc/sysconfig/network-scripts …… |
本章初步结束,下一节讲循环语句
最新文章
- Linux 之 shell 比较运算符
- JDBC的应用
- hdu 5748(求解最长上升子序列的两种O(nlogn)姿势)
- Eclipse插件项目 引用其他类库的方法(jar)
- 【linux】 静态库编译
- 几道hihocoder不会做的题
- 零基础Visual Fox Pro 6.0自学笔记(VFP6.0图文教程)
- 学学Whatsapp,如何让自己挣160亿美金,然后退休?开发个J2ME应用。
- 微信开发-Jssdk调用分享实例
- Dom4j分解xml
- GCD之after
- js面向对象学习笔记(五):tab切换
- 使用Intellij IDEA生成JavaDoc
- UIKit中ImageView动画堆叠显示的微调整
- selenium IDE工具页面介绍!
- 在ConoHa上Centos7环境下源码安装部署LNMP
- STDIN_FILENO和stdin
- python入门学习记录(win7+python3.6)
- Educational Codeforces Round 26 E - Vasya's Function
- Sql Server 生成连续时间段
热门文章
- JS构造函数(便于理解,简易)
- <;Android 基础(十八)>; XLIFF
- Learn by pictures on Auto Control Fields
- AE常用代码(标注要素、AE中画带箭头的线、如何获得投影坐标、参考坐标、投影方式、FeatureCount注意事项)
- Java NIO(四) Scatter/Gather
- JsonConvert序列化问题
- 【MATLAB】R2017b两个镜像文件如何安装
- Oracle VM virtualBox -Centos6.4 安装后没有网解决方法
- Java—IO流 File类的常用API
- supervisor运行virtualenv环境下的nagios-api