博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell中的循环判断语句(3)case语句,内附练习
阅读量:3939 次
发布时间:2019-05-23

本文共 1846 字,大约阅读时间需要 6 分钟。

case语句

1.特点:case语句为多重匹配语句;如果匹配成功,执行相匹配的命令

2.语句结构:

case var in          pattern 1)                   command 1                  ;;          pattern 2)                   command 2                  ;;          *)                   command 3                   ;;         esac

练习1:用case语句编写脚本

在这里插入图片描述

#!/bin/bash

menu(){
echo "
h 显示命令帮助
f 显示磁盘分区
d 显示磁盘挂载
m 显示内存信息
q 退出程序帮助
"
}

menu

while true
do
read -p “Please input your choice: " choice
case $choice in
h)
menu
;;
f)
echo “#######磁盘分区信息”
blkid | cut -d: -f1
;;
d)
echo “#######磁盘挂载信息”
fdisk -l
;;
m)
echo “#######内存信息”
free -m
;;
q)
echo “#######程序正在退出”
exit
;;
*)
echo “#######请输入正确命令”
esac
done
在这里插入图片描述
练习2:判断用户输入的字符串,如果是"hello”,则显示"world";如果是"world", 则显示"hello",否则提示"请输入hello或者world,谢谢!"

在这里插入图片描述

在这里插入图片描述
练习3:执行users_create.sh userlist passlist达到如下效果:
建立userlist列表中的用户
设定userlist列表中的密码为passlist列表中的密码
当脚本后面跟的文件个数不足两时,报错
当文件行数不一致时报错
当文件不存在时报错
当用户存在时报错
Shell中的循环判断语句(3)case语句,内附练习

#!/bin/bash[ "$USER" = "root" ] &>/dev/null ||{	echo -e "\033[31mPlease exac super user!!!\033[0m"	exit}[ $# -eq 2 ] &>/dev/null ||{	echo -e "\033[31mPlease input userlist and passwdlist!!!\033[0m"	exit}[ -e "$1" ] &>/dev/null ||{	echo -e "\033[31mERROR: the userfile is not exist\033[0m"	exit}[ -e "$2" ] &>/dev/null ||{        echo -e "\033[31mERROR: the passwdlist is not exist\033[0m"        exit}users_line=`wc -l $1 | cut -d" " -f1`passwd_line=`wc -l $2 | cut -d " " -f1`[ $users_line -eq $passwd_line ] ||{        echo "ERROR:usersfile lines is differ passwdfile"        exit }for num in `seq 1 $users_line`do	username=`sed -n ${num}p $1`	password=`sed -n ${num}p $2`	useradd $username &>/dev/null	if [ $? = 0 ]	then		echo -e "\033[32muser $username is created!!!\033[0m"		echo $password | passwd --stdin $username &>/dev/null		echo -e "\033[32mThe password is $password !!!\033[0m"	else		echo -e "\033[31m$username is exist!!!\033[0m"	fidone

在这里插入图片描述

转载地址:http://toegn.baihongyu.com/

你可能感兴趣的文章
Java---多线程同步的几种办法
查看>>
JAVA 大整数加法的实现
查看>>
redis 高可用解决方案
查看>>
冒泡排序法
查看>>
Mybatias实现物理分页
查看>>
springmvc控制器controller单例问题
查看>>
java基础多线程参考论坛地址记录
查看>>
eclipse 调试jar包中的.class文件--Decompiler插件
查看>>
nginx大流量负载调优
查看>>
Nginx + varnish 构建高可用CDN节点集群
查看>>
Linux下Nginx+Tomcat负载均衡和动静分离配置要点
查看>>
jdk 1.5中的concurrent 在多线程并发中的使用
查看>>
JAVA后台程序设计及UTIL.CONCURRENT包的运用
查看>>
JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
查看>>
jvisualvm监控远程服务器linux的tomcat
查看>>
HTTP抓包工具Fiddler---记录博客地址
查看>>
Java问题排查常用linux命令
查看>>
线上应用故障排查之一:高CPU占用
查看>>
线上应用故障排查之二:高内存占用
查看>>
JNDI全面总结--1.spring-DB配置
查看>>