(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)
blank

相关推荐

  • 磁盘阵列 mysql_Mysql 系列 磁盘阵列

    磁盘阵列 mysql_Mysql 系列 磁盘阵列RAID基本思想就是把多个相对便宜的硬盘组合起来,使其组合成一个容量更大、更安全的硬盘组.目前已有的RAID硬盘组方案至少有几十种,其最常用的要数RAID5与RAID10硬盘组方案。软RAID(software-basedRAID)是基于软件的RAID。它可能是最普遍的被使用的RAID阵列,这是由于现在的很多服务器操作系统都集成了RAID功能。硬RAID(这里只讨论基于总线的RAID)是由内建…

  • 配置系统初始化失败0 x84b10001当在Windows上安装SQL Server

    配置系统初始化失败0 x84b10001当在Windows上安装SQL Server为了修复这个错误我们必须修改机器。配置文件。我们需要删除的配置部分包含所有的WindowsCommunicationFoundation(WCF)ServiceModel配置元素。我至今仍不明白为什么我们需要删除这部分错误消息消失。有两种方法,你可以试着解决这个问题。方法一在此方法中,我们将修改机器。配置文件。去C:\WINDOWS\Microsoft.NET\

  • ebpf_ebpf需要修改内核吗

    ebpf_ebpf需要修改内核吗eBPF简史BPFBPF的全称是BerkeleyPacketFilter,顾名思义,这是一个用于过滤(filter)网络报文(packet)的架构。过滤(Filter):根据外界输入的规则过滤报文;复制(Copy):将符合条件的报文由内核空间复制到用户空间;?packet报文buffer百度百科在计算机领域,缓冲器指的是缓冲寄存器,它分输入缓冲器和输出缓冲器两种。前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。有了数控缓冲器,

  • 修改移动光猫,提升上网速度

    修改移动光猫,提升上网速度家里网络变慢的问题自从换了移动的100M网络(因为免费才换的!!),发现家里的网络差了好多。一开始还好,到了后面总是出现页面卡顿,网页上不去现象。经过一番盲猜分析,发现了两个问题。一是家里的路由器太老了,用了五六年了,设备肯定是有些问题的。二是进了移动的光猫管理页后,发现是猫在做拨号的工作,而不是路由器拨号。所以解决的方法就是买个新路由器,并且使用路由器拨号。为什么要用路由器拨号呢?光猫只做光电转换,工作负荷小,毕竟是白给的光猫,性能肯定好不到拿去路由器的拨号带机量比光猫大光猫就做它的光电转

  • js数组删除某一个元素_删除数组中重复元素

    js数组删除某一个元素_删除数组中重复元素JS删除数组中某一个元素方式一:在Array原型对象上添加删除方法//查找指定的元素在数组中的位置 Array.prototype.indexOf=function(val){ for(vari=0;i<this.length;i++){if(this[i]==val){…

  • 手机NFC模拟M1门禁卡、写CUID白卡的一些研究记录

    手机NFC模拟M1门禁卡、写CUID白卡的一些研究记录一、需求场景近来小区安装了智能门禁,但只配发了一张门禁卡,不方便使用,于是产生了用手机模拟门禁卡,或者复制一张门禁卡的想法。本文使用的软件:(CSDN无法修改下载积分了。。。)包括手机NFC读写卡神器MifareClassicTool(MCT)2.2.5最新版、手机读卡工具NFCTagInfo、NFC卡模拟软件Cardemulator、RE管理器,以及一款NFC模拟…

发表回复

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

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