shell编程-模式匹配case(附赠常用工具脚本)

34 篇文章 0 订阅

case语法结构

case 变量 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
模式3)
命令序列3
;;
*)
无匹配后命令序列
esac

需求:
编写脚本,由用户输入字符串,字符串为linux则显示windows,为windows则显示Linux否则显示Other

示例:
#!/bin/bash

read -p "Input string: " str
case $str in
windows)
echo “Linux…”
;;
linux)
echo “Windows…”
;;
*)
echo “Other…”
;;
esac

简单的模式匹配

需求:
邀请用户输入待删除用户名。
询问用户,确定要继续删除吗 yes/no: " y
示例:
#!/bin/bash
#name
#time
#1请输入删除的用户名:
read -p "please input a username : " user
#2输出用户ID
id $user &> /dev/null
#4判断用户是否存在
if [ $? -ne 0 ];then
echo “no such user: KaTeX parse error: Expected 'EOF', got '#' at position 25: … exit 1 fi #̲3请用户确认是否删除 read…action” = “y” -o “$action” = “Y” ] ;then

userdel -r $user

echo “$user is deleted!”

#else

echo “thank you”

#fi
#5case写法
case “$action” in
Y|y|YES|yes)
userdel -r u s e r e c h o " user echo " userecho"user is deleted!"
;;
*)
echo “thank you”
;;
esac

简单的JumpServer

跳板主机
#!/usr/bin/bash
#定义目标主机IP
web1=192.168.122.152
web2=192.168.122.128
mysql1=192.168.122.88
#跳转菜单不退出
while :
do
#打印跳转菜单
cat <<EOF
1.WEB1
2.WEB2
3.MYSQL1
EOF
#读取用户输入
read -p "input number: " num
#判断用户选择
case n u m i n 1 ) s s h a l i c e @ num in 1) ssh alice@ numin1)sshalice@web1
;;
2)
ssh alice@$web2
;;
*)
echo ‘123’
esac
done
脚本美化
2 免密码登录
ssh-keygen
ssh-copy-id ip地址
3 使用户登录跳板机,立即进行跳转询问。
可以将登录脚本,加进登录默认启动中。
vim ~/.bash_profile
粘贴脚本地址。
5 拒绝用户使用快捷键退出,捕捉用户信号
#!/bin/bash/
trap “” HUP INT OUIT TSTP
6 美化脚本
±----+
| |
±----+
echo -en “\e[1;32minput number: \e[0m”
read num

系统管理工具

Command action

h 显示命令帮助
f 显示磁盘分区
d 显示磁盘挂载
m 查看内存使用
u 查看系统负载
q 退出程序
脚本:
vim systemmanage.sh
#!/usr/bin/bash
#打印菜单
cat <<-EOF
h. help
f. disk partation
d. filesystem mount
m. memory
u. system load
q.exit
EOF

读取用户输入,进行模式匹配

read -p "please input [h for help]: " action
case “$action” in
f)
fdisk -l
;;
d)
df -hT
;;
m)
free -m
;;
u)
uptime
;;
q)
exit
;;
“”)
;;
*)
echo “error”
;;
esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值