(7)case语句[通俗易懂]

(7)case语句[通俗易懂](1)case语法(2)多系统配置yum源(3)删除用户(4)模拟jumpserver!/bin/bashtrap""HUPINTOUITTSTPweb01

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

(1)case 语法

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

(2)多系统配置yum源

#!/bin/bash 
cat << EOF
1.install Centos5 yum repo
2.install Centos6 yum repo
3.install Centos7 yum repo
EOF
clear_cache() {
	yum clean all
    yum makecache
}
[ -d /etc/yum.repos.d/bak/ ] || mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ &>/dev/null
read -p "please input a number ,eg 1|2|3 ...." num
case "$num" in
        1)
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
		clear_cache
        ;;
        2)
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
		clear_cache
        ;;
        3)
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
		clear_cache
        ;;
        *)
        echo "error number!"
esac

(3)删除用户

#!/bin/bash
#case 判断删除用户
read -p "please input username:" user
id $user &>/dev/null
if [ $? -ne 0 ];then
        echo "no such user:$user!"
        exit 1
fi
read -p "Are you sure?[y|n]: " action
case "$action" in
        y|Y|yes|YES)
                userdel -r $user
                echo "$user is deleted"
                ;;
        *)
                echo "error"
esac

(4)模拟jumpserver

(7)case语句[通俗易懂]

#!/bin/bash
trap "" HUP INT OUIT TSTP
web01=192.168.111.201
web02=192.168.111.202
clear			
while true
do
        cat <<-EOF
        +-----------------------------------+
        |         jumpserver                |
        |         1)connect---web01         |
        |         2)connect---web02         |
        |         3)out                     |
        +-----------------------------------+
        EOF
        echo -en "\e[1;32mplease input a number: \e[0m"
        read  num
        case "$num" in
                1)
                ssh $web01
                ;;
                2)
                ssh $web02
                ;;
                3)
                break
                ;;
                *)
                echo "error"
        esac
done
trap :运行脚本的时候无法使用crtl+c退出脚本
clear 每次登陆到后端服务器退出之后清屏
cat :打印菜单
echo -en "\e[1;32mplease input a number: \e[0m" :提示用户输入的时候打印颜色,-n表示下面的read用户输入不换行
,密钥登录:ssh-keygen:生成跳板机的公钥和私钥 ssh-copy-id  把跳板机的公钥发送给后端服务器
客户端登录到跳板机上每次启动这个脚本需要把脚本放入到~/.bashrc文件下面,脚本需要给执行权限

(5)系统工具箱

#!/bin/bash
#system_toolbox
menu() {

        cat <<-EOF
        +==========================================+
        |       h.help                             |
        |       f.disk partition                   |
        |       d.filesystem mount                 |
        |       m.memory                           |
        |       u.system load                      |
        |       q.exit                             |
        +==========================================+
        EOF
}
menu
trap "" HUP INT OUIT TSTP
clear
while true
do
        menu
        echo -en "please enter the options you need:"
        read options
        case "$options" in
                h) clear;menu ;;
                f) df -Th ;;
                d) fdisk -l ;;
                m) free -m ;;
                u) upload ;;
                q) break ;;
                "") ;;
                *) echo -e "\e[1;32merror options \e[0m"
        esac
done
echo -e "\e[1;32mfinish...... \e[0m"

(5)安装php

#!/bin/bash
menu() {
echo "##############################"
echo -e "\t1 php5.6"
echo -e "\t2 php6.6"
echo -e "\t3 quit"
echo "##############################"
}
. /server/scripts/php.sh
install_php56() {
        php56
}
install_php66() {
        php66
}
menu
while true
do
        echo -ne "version[1-2]:" 
        read version
        case "$version" in
                1) install_php56 ;;
                2) install_php66 ;;
                3) break        ;;
                "") ;;
                *) echo "error"
        esac
done

php.sh

#!/bin/bash
php56() {
        echo -e  "\e[1;31minstall php5.6 is success\e[0m"
}
php66() {
        echo -e  "\e[1;33minstall php6.6 is suceess\e[0m"
}

总结:把安装php的各种版本一个文件,文件里面是函数安装php各种版本的函数,然后在入口文件使用. /server/scripts/php.sh加载这个文件,在定义函数调用文件中的函数功能即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168308.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • excel截取字符串函数_截取函数 excel

    excel截取字符串函数_截取函数 excelExcel中共提供了三种函数来对字符串进行截取操作left(text,num):用于对一个文本字符串,从左向右提取指定个数的字符right(text,num):用于对一个文本字符串,从右向左提取指定个数的字符MID(text,start_num,num_chars):从一个文本字符串的指定位置开始,截取指定个数的字符…

    2022年10月22日
  • kvm 安装及安装虚拟机

    kvm 安装及安装虚拟机

  • 个人对json的一些简单理解「建议收藏」

    个人对json的一些简单理解「建议收藏」在最近的学习中,查阅了很多资料,了解了一些关于json的基本知识,下面做一个简单的总结:json是什么没有.json结尾的这种文件,json(JavaScriptObjectNotation)是一种简单的数据交换格式,在此之前我也不知道这个东西其实没有想象的那么抽象,看看后面的例子会更清晰json中的数据结构json中只有两种数据基本结构,一种是MAP,或者叫对象,另一种是Ar…

  • 微信开发-40029 invalid code「建议收藏」

    微信开发-40029 invalid code「建议收藏」微信开发过程中,根据回调code获取snsapi_userinfo的时候,遇到了错误提示{“errcode”:40029,”errmsg”:”invalidcode”},后面发现是因为自己内部服务调试过程中,将该code使用了两次,导致提示该错误。所以,如果有谁遇到了该提示,请务必检查是否code被使用了两次。

  • 好用的在线客服系统PHP源码(开源代码+终身使用+安装教程)

    好用的在线客服系统PHP源码(开源代码+终身使用+安装教程)​在线客服系统是一套交互式沟通工具,采用PHP+MYSQL开发。高性能,不卡顿。使用它可以迅速缩小你的选择范围,联系多个供应商、客户等,也可以给你的企业一个关于用户体验的重大影响。

    2022年10月24日
  • 38款 流媒体服务器开源软件

    38款 流媒体服务器开源软件Flash流媒体服务器Red5Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流;录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash…更多Red5信息最近更新:Red51.0.1

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号