xml地图|网站地图|网站标签 [设为首页] [加入收藏]

热门直播

当前位置:美高梅游戏网站 > 热门直播 > 【shell 练习5】编写简单的多级菜单

【shell 练习5】编写简单的多级菜单

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-10-25 03:37

一、简单的多级菜单

[root@web129 ~]# cat menu.sh 
#!/bin/bash
#shell菜单演示
function menu()
{
echo -e `date`
cat <<EOF
-----------------------------------
>>>菜单主页:
`echo -e "33[35m 1)系统状态33[0m"`
`echo -e "33[35m 2)服务管理33[0m"`
`echo -e "33[35m 3)主菜单33[0m"`
`echo -e "33[35m Q)退出33[0m"`
EOF
read -p "请输入对应序列号:" num1
case $num1 in
    1)
    echo -e "33[32m >>>系统状态-> 33[0m"
    system_menu
    ;;
    2)
    echo -e "33[32m >>>服务管理-> 33[0m"
    server_menu
    ;;
    3)
    echo -e "33[32m >>>返回主菜单-> 33[0m"
    menu
    ;;
    Q|q)
    echo -e "33[32m--------退出--------- 33[0m"
    exit 0
    ;;
    *)
    echo -e "33[31m err:请输入正确的编号33[0m"
    menu
esac
}
function system_menu()
{
cat<<EOF
------------------------
********系统状态********
------------------------
1)nginx 状态
2)http 状态
3)tomcat 状态
X)返回上一级目录
------------------------
EOF
read -p "请输入编号:" num2
case $num2 in
    1)
    `echo -e "systemctl status nginx.service"`
    system_menu
    ;;
    2)
     `echo -e "systemctl status httpd.service"`
    system_menu
    ;;
    3)
     `echo -e "systemctl status tomcat.service"`
    system_menu
    ;;
    x|X)
    echo -e "33[32m---------返回上一级目录------->33[0m"
    menu
    ;;
    *)
    echo -e "请输入正确编号"
    system_menu
esac
}
function server_menu()
{
cat<<EOF
------------------------
1)开启服务
2)停止服务
X)返回上一级目录
------------------------
EOF
read -p "请输入编号:" num3
case $num3 in
        1)
        op_menu
        ;;
        2)
        op_menu1
        ;;
        x|X)
        echo -e "33[32m-- -----返回上一级目录---------> 33[0m"
        menu
        ;;
        *)
        echo -e "请输入正确编号"
        system_menu
esac
}

function op_menu()
{
cat<<EOF
------------------------
1)开启nginx服务
2)开启http服务
3)开启tomcat服务
X)返回上一级目录
------------------------
EOF
read -p "请输入编号:" num4
case $num4 in
        1)
    `echo -e "systemctl start nginx.service"`
    op_menu
        ;;
        2)
    `echo -e "systemctl start httpd.service"`
        op_menu
    ;;
    3)
    `echo -e "systemctl start tomcat.service"`
        op_menu
        ;;
        x|X)
        echo -e "33[32m--------返回上一级目录------->33[0m"
        server_menu
        ;;
        *)
        echo -e "请输入正确编号"
    op_menu
esac
}
function op_menu1()
{
cat<<EOF
------------------------
1)停止nginx服务
2)停止http服务
3)停止tomcat服务
X)返回上一级目录
------------------------
EOF
read -p "请输入编号:" num5
case $num5 in
        1)
        `echo -e "systemctl stop nginx.service"`
        op_menu1
        ;;
        2)
        `echo -e "systemctl stop httpd.service"`
        op_menu1
        ;;
        3)
        `echo -e "systemctl stop tomcat.service"`
        op_menu1
        ;;
        x|X)
        `echo -e "33[32m >>>返回上一级目录---> 33[0m"`
        server_menu
        ;;
        *)
        echo -e "请输入正确编号"
        op_menu1
esac
}
menu
[root@web129 ~]# 

 

显示效果如下:

图片 1

图片 2

 

上节课我们一起学习了Sqoop(数据迁移工具),这节课我们一起简单学习一下Shell脚本。

 首先我们来新建一个test.sh文件,并在文件内输入一句用来输出的语句,如下所示。

[root@itcast03 ~]# vim test.sh
echo '123'

保存上面的内容,我们试着执行一下test.sh,发现会报如下所示的提示,说没有权限执行。

[root@itcast03 ~]# ./test.sh
-bash: ./test.sh: Permission denied
[root@itcast03 ~]#

因为我们是在root用户下,我们可以使用sh test.sh来强制执行,如下所示,发现执行成功了。

[root@itcast03 ~]# sh test.sh
123
[root@itcast03 ~]#
我们也可以增加对当前目录下的test.sh文件的所有者增加可执行权限,然后再执行test.sh,如下所示,发现执行成功。(我们来说一下chmod u+x test.sh这句话的意思,chmod是权限管理命令change the permissions mode of a file的缩写。u代表所有者,x代表执行权限。 + 表示增加权限。chmod u+x test.sh就表示对当前目录下的test.sh文件的所有者增加可执行权限)

[root@itcast03 ~]# chmod u+x test.sh
[root@itcast03 ~]# ./test.sh
123
[root@itcast03 ~]#

本文由美高梅游戏网站发布于热门直播,转载请注明出处:【shell 练习5】编写简单的多级菜单

关键词:

上一篇:没有了

下一篇:没有了