模式匹配case
case可以看做if else的简洁版
case只能做字符串比较文件之类的还是要if
case 变量 in
模式1)
…
;;
模式2)
…
;;
模式3)
…
;;
*) 这里表示上面的模式均为匹配到以后,会执行这里 如同default
…
;;
esca
匹配到了其中一个模式就自动跳出,不会继续匹配后面的模式
判断输入是否为yes
read -p "are you sure?[y/n]" action
if [ "$action" = "y" -o "$action" = "yes" -o "$action" = "YES" -o "$action" = "Y" ]; then
echo "ok"
fi
等于case:
read -p "are you sure?[y/n]" action
case "$action" in
y|yes|YES|Y)
echo "ok"
;;
*)
echo "error"
esac
command命令查看命令是否存在
实现jumpserver跳板机(堡垒机)
1、登录到跳板机就执行脚本
2、ssh命令连接(可以在window环境下的cmd中进入linux服务端)linux当然也可以,exit退出
实现简单的系统工具箱
vim system_manage01.sh
#!/usr/bin/bash
menu(){
cat <<-EOF
##########################
h.help
f.disk partition
d.filesystem mount
m.memory
u.system load
q.exit
##########################
EOF
}
menu #execute function menu
while :
do
read -p "Please input[h for help]:" action
case "$action" in
h)
clear
menu
;;
f)
fdisk -l
;;
d)
df -Th
;;
m)
free -m
;;
u)
uptime
;;
q)
exit
;;
*)
echo "error"
esac
done