shell之case和function
"参数内容") \\ 例如 "y"|"Y")
命令集合
;;
"参数内容")
命令集合
;;
*) \\代表其他
命令集合
;;
esac
$1 $2
$1 $2 代表脚本执行时后面输入的第一个参数
$# 代表参数的个数
$@ 将参数输出
function fun_name() {
命令集
}
例子:这个是在linux系统的服务脚本中截取的部分,用作理解,
check() {
# Check that we're a privileged user
[ `id -u` = 0 ] || exit 4
test -x /usr/sbin/acpid || exit 5
}
[ -f /proc/acpi/event ] || exit 1
daemon /usr/sbin/acpid
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
echo
return $RETVAL
}
killproc /usr/sbin/acpid
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/acpid
echo
return $RETVAL
}
stop
start
}
reload() {
action $"Reloading acpi daemon:" killall -HUP acpid
RETVAL=$?
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
force-reload)
restart
;;
restart)
restart
;;
condrestart)
if [ -f /var/lock/subsys/acpid ]; then
restart
fi
;;
status)
status acpid
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
RETVAL=2
esac
说明:
创建了check\start\stop\restart\reload的函数,每个函数下面都有各自的命令集合,后面每个符合case选项的每执行一次函数就相当于执行函数内部的命。简化了脚本的结构。
转载于:https://blog.51cto.com/bensonzy/605102
shell之case和function相关推荐
- shell编程--case判断
case基础语法: 格式 case 变量名 in value1) command ;; value2) command ;; *) commond ;; esac 在case程序中,可以在条件中使用 ...
- Shell中case判断结构的用法笔记
Shell中case判断结构的用法 case判断的用法和if/elif/else结构的用法等价,case判断结构也用于多种可能情况下的分支选择. 语法结构如下: case var in var1) c ...
- shell脚本—case用法
shell脚本-case用法 文章目录 shell脚本-case用法 1.什么是case? 2.case使用场景 3.case语法 1.什么是case? case语句和if类似,也是用来判断的,只不过 ...
- 理论+实操:shell之case语句与for/while/until循环语句、函数、数组理论讲解-满满的干货
文章目录 一 : case语句的结构 1.1 case结构 1.2 case执行过程流程图 1.3 case语句应用示例 1.3.1 示例1:击键类型识别 1.3.2 请输入您的成绩判断优良合格不合格 ...
- linux sh文件case,Shell脚本case语句简明教程
Shell case语句为多选择语句.可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 ...
- shell之case和循环语句(case语句的格式与举例)(for循环,while循环until循环语句的详解和continue,break解释, 九九乘法口诀表 ,等腰三角形)
文章目录 shell编程之case语句与循环语句(for,while) case多分支语句 case语句的实例 使用for循环语句 for语句实例 用循环语句输出1-10的数字的五种办法 计算偶数/奇 ...
- Shell基础--- case in语句详解
<Shell if else>一节的最后给出了一个例子,就是输入一个整数,输出该整数对应的星期几的英文表示,这节我们就用 case in 语句来重写代码,如下所示. #!/bin/bash ...
- shell语法 case/esac
case命令可类比C语言的switch/case语句,esac表示case语句块的结束.C语言的case只能匹配整型或字符型常量表达式,而Shell脚本的case可以匹配字符串和Wildcard,每个 ...
- shell编程 case语句
case语句格式 # vi test.sh : echo "input : " read num echo "the input data is $num" c ...
最新文章
- 如何为网页添加小宠物挂件:小老鼠、金鱼等
- DCMTK:工作清单数据库测试程序
- [BUUCTF-pwn]——bjdctf_2020_router
- 关于优酷开放SDK之setOnVideoSizeChangedListener
- open,write,read与fopen,fwrite,fread的区别
- OpenStack精华问答 | OpenStack是云吗?
- 小米为其他手机适配rom_让小米引以为傲的MIUI,为什么不再给其它手机适配了?...
- Android面经分享,失业两个月,五一节前拿到offer
- 商汤押注AI教育,成立“商汤教育”子品牌
- 如何制作一款HTML5 RPG游戏引擎——第五篇,人物人物特效
- 综合后端各种类型文件
- 检查PHP扩展是否安装成功
- linux连接小米随身wifi密码忘记了,小米随身wifi设置教程
- MATLAB数字水印处理技术的实现
- java 获取vm配置参数_如何获取Java中的Java VM规范?
- 结算清单html模板,结算清单样本.xls
- 一个老程序员的计算机视觉蹒跚学习之路
- 分布式技术原理(一):分布式的三围
- 判断英语名词可数和不可数
- 英雄联盟7月23日维修服务器,英雄联盟7月23日更新维护到几点结束 7月23日lol10.15版本更新维护结束时间...
热门文章
- java概念,Java基础概念
- Golang——递归的使用
- linux如何标识用户账号和组账号,linux管理用户和组
- mysql5.7四字节中文_mysql 字节问题,中文和数字
- rocketmq删除topic_RocketMq 快速入门教程
- win7安装nodejs 高版本不支持 换低版本
- ElasticSearch之Tokenizer 分词器
- 机器学习笔记(十六)——EM算法概述
- 宠物次元经济专题分析2020
- matlab 判断两个矩阵有元素相等_Matlab入门教程 第 1 章 Matlab基础知识之基本运算...