Shell脚本(五):制作菜单,可以控制vsftpd服务

步骤一:
#vim ftp_install            #创建ftp安装函数文件
ftp_install(){
    if rpm -q vsftpd &> /dev/null ;then        #ftp如果已经安装则条件算成功
        msg="vsftpd已安装"                    #定义信息变量msg
    else
        yum -y install vsftpd &> /dev/null
        [ $? -eq 0 ] && msg="vsftpd安装成功" || msg="vsftpd安装失败"
    fi
}

步骤二:

#vim ser_manager            #创建服务管理函数文件
ser_manager(){
    if ! rpm -q vsftpd &>/dev/null ;then    #ftp如果未安装则条件算成功,!是取反
        msg="未安装vsftpd软件包"
        return                                #结束函数任务,跳出函数
    fi
    case $1 in
    start)                                #调用本函数后追加start就是把服务开启
        systemctl start vsftpd
        msg="ftp服务已经启动"
        ser_manager=start;;
    stop)                                    #调用本函数后追加stop就是把服务关闭
        systemctl stop vsftpd
        msg="ftp服务已经关闭"
        ser_manager=stop;;
    esac
}

继续完善主程序

#vim ftp.sh
#!/bin/bash
. menu            #读入菜单函数
. ftp_install        #读入安装函数
. ser_manager        #读入服务管理函数
while :
do
    menu
    echo "$msg"
    read -n 3 c    #-n 3是输入足够3个字符就自动进行下一步,c是存储字符的变量
    if [ "$c" == $'\033[A' ];then        #如果按了 "上" 键
       [ $x -eq 1 ] && continue        #根据变量x定义高亮行,在第1行就没变化
       let x--                        #如果不在第1行,就把x-1
    elif [ "$c" == $'\033[B' ];then    #如果按了 "下" 键
       [ $x -eq 3 ] && continue        #如果在第3行,没变化
       let x++                        #如果不在第3行,就把x+1
    elif [ -z $c ] && [ $x -eq 1 ];then        #如果在第1行回车就执行下列任务
        msg="ftp服务安装中。。。"
        echo "$msg"
        ftp_install                    #执行ftp_install函数的任务
    elif [ -z $c ] && [ $x -eq 2 ];then        #如果在第2行回车就执行下列任务
        [ "$ser_manager" != "start" ] && ser_manager start || ser_manager stop
    elif [ -z $c ] && [ $x -eq 3 ];then        #如果在第3行回车就执行下列任务
        exit
    fi
done
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值