shell case语句及函数
来源:互联网 发布:大麦户源码下载 编辑:程序博客网 时间:2024/05/01 22:22
case 菜单选择打印语法:case var in var变量 patten 1) 匹配模式1 a|b|c |和or类似 command... 需要执行的命令 ;; 命令执行完毕 patten 2) command... ;; *) 默认值,没有匹配的模式 command... ;;esac 代表case语句的结束demo1:当给程序输入start|s时,显示service is running!;stop——>service is stoped;...#!/bin/bash#read -p "请输入参数:" varcase $1 in start|s) echo service is running ;; stop) echo service is stoped ;; reload) echo service is reload ;; *) echo xxxxx ;;esacdemo2:相互嵌套#!/bin/bashread -p "小明,你喜欢我吗?(喜欢|不喜欢|爱你):" lovecase $love in 喜欢) echo "我也喜欢你" ;; 不喜欢) read -p "那你喜欢谁?" who case $who in 小红) echo "她是我的闺蜜" ;; 小彭) echo "额..拜拜" ;; *) echo "我们不合适" ;; esac ;; *) echo "你到底什么意思?" ;;esacdemo3:维护菜单选择#!/bin/bashecho "*********welcome to uplooking*********"echo "*********选择操作类型*******************"echo "**********1——系统**********************"echo "**********2——程序**********************"echo "**********3——数据库********************"echo "**********0——退出**********************"read -p "请选择操作类型:" choosecase $choose in 1) echo "你选择的类型是系统维护" ;; 2) echo "你选择的是程序" ;; 3) echo "*********welcome to uplooking*********" echo "*********选择操作类型*******************" echo "**********1——备份**********************" echo "**********2——数据导入导出****************" echo "**********0——退出**********************" read -p "请你输入对数据库的操作:" choose1 case $choose1 in 0) echo "退出" ;; 1) echo "备份数据库" ;; 2) echo "导入导出" ;; *) echo "你要干啥?" ;; esac ;; 0) exit ;;esac课堂练习:1、输入一个等级(A—E),查看每个等级的成绩;如输入A,则显示"90分~100分";依次类推2、模拟一个2人相亲的场景,交互式输入名字、性别、年龄(年龄放在性别判断后)1>对性别进行判断,如果不输入男或者女,则显示“你是泰国来的码?”如果是男的则对年龄判断:2>男的年龄大于18岁则显示“某某先生,你结婚了码?”;如果对方回答yes或者结了,则显示“那你来着凑什么热闹?”;如果对方回答no或者没结,则再次询问“那你有房有车吗?”;如果既不说结了也不说没结,则显示“你到底有没有结婚??”3>问有房有车吗,对方回答有,则显示“咱们去民政局领证吧,正好今天是七夕!”;如果对放回答没有,则显示“不好意思,我去下洗手间...”;如果即不回答有也不回答没有,则显示“请正面回答我的问题??”4>男的年龄如果小于18岁,则显示“你个小猫孩来着干啥,不好好读书”5>如果是女的,并且年龄大于18岁,则显示“某某女士,您好”;否则显示“某某小姐,您好”函数:语法结构:方法1:function function_name(){ command...}方法2:function_name(){command...}return:作用1、用来返回一个值给函数,主函数可以调用该返回值 0~256 return 22、用来结束函数demo1:#!/bin/bashfunction hello(){ echo hello echo $1}world(){ echo hi echo $1}函数调用:1、直接在终端调用# source fun1.sh [root@node1 shell03]# hello uplookinghellouplooking[root@node1 shell03]# world 888hi8882、写到全局的环境变量文件里vim /etc/profile...function hello(){ echo hello echo $1}world(){ echo hi echo $1}3、脚本里调用#!/bin/bashfunction hello(){ echo hello echo $1}#read -p "请输入参数:" varcase $1 in start|s) hello uplooking echo service is running ;; stop) hello 66666; echo service is stoped ;; reload) echo service is reload ;; *) hello 7777;echo xxxxx ;;esacdemo:批量创建3个用户user1~user3;用户的附加组为admin组;密码为123#!/bin/bashg=admingroups(){groupadd $g}users(){ for i in {1..3} do useradd -G $g user$i echo 123|passwd --stdin user$i done}grep -w admin /etc/group &>/dev/nullif [ $? -ne 0 ];then groups userselse usersfi作业:写脚本自动搭建web服务,要求如下:1、基于域名的虚拟主机(DNS可以用脚本也可以写到hosts文件中即可)2、访问www.myweb.com——>this is myweb test page3、web服务器的ip和主机名交互式的从外部输入,并且如果不输入一致提示输入提示:在脚本中可以先写一个函数,目的是如果不输入相应的内容则一致提示输入4、搭建完后要显示测试是否成功5、根据自己的想法可以是该脚本更丰富预习:sed
0 0
- shell case语句及函数
- 运维之shell篇-----3.循环结构 、 case语句 、 函数及中断控制
- shell变成--case语句
- shell编程 case语句
- 【shell】case 语句
- shell的case语句
- shell的case语句
- shell中的case语句
- shell编程 case语句
- Shell case esac语句
- Shell case esac语句
- Shell case esac语句
- Shell case esac语句
- Shell case esac语句
- Linux Shell case语句
- Shell case esac语句
- Shell case esac语句
- shell case esac语句
- SpringSession 初步了解
- 复杂网络上的社会激励: 从应用到理论
- Codeforces 805C (贪心)
- 1470: 单词反转
- C#属性和索引器
- shell case语句及函数
- shell 正则表达式
- HDU2546饭卡 01背包入门
- [转]AXI4与AXI3区别
- POJ 1117 Pairs of Integers 笔记
- 设计模式之策略模式
- 自动化测试中各种流量的模拟3
- general.h
- python 序列操作