使用shell实现lamp、lnmp的一键安装

这篇文章详细描述了一个使用Bash编写的脚本,该脚本设计了两个二级菜单,用户可以选择安装LAMP(Linux,Apache,MySQL,PHP)或LNMP(Linux,Nginx,MySQL,PHP)环境中的组件,如HTTPD、MySQL和PHP。
摘要由CSDN通过智能技术生成

#!/bin/bash

#定义一个一级菜单

function menu(){

    cat <<  EOF

----------------------------------------------

|*******Please Enter Your Choice:[1-4]*******|

----------------------------------------------

* `echo -e "\033[35m 1)lamp install\033[0m"`

* `echo -e "\033[35m 2)lnmp install\033[0m"`

* `echo -e "\033[35m 3)quit\033[0m"`

* `echo -e "\033[35m 4)return main menu\033[0m"`

EOF

}

#二级菜单lamp的定义

function lamp_menu(){

    cat <<  EOF

----------------------------------------------

|*******Please Enter Your Choice:[1-4]*******|

----------------------------------------------

* `echo -e "\033[35m 1)http install\033[0m"`

* `echo -e "\033[35m 2)mysql install\033[0m"`

* `echo -e "\033[35m 3)php install\033[0m"`

* `echo -e "\033[35m 4)return main menu\033[0m"`

EOF

read -p "####please input second_lamp options[1-4]" num2

expr $num2 + 1 &> /dev/null

if [ $? -ne 0 ]

then

    echo "###########################"

    echo "Waing !!!,input error "

    echo "Please enter choose[1-4]:"

    echo "##########################"

    sleep 1

elif [ $num2 -gt 4 ]

then

    echo "###########################"

    echo "Waing !!!,Out of range "

    echo "Please enter choose[1-4]:"

    echo "##########################"

    sleep 1

fi

case $num2 in

    1)

        yum install -y httpd &> /dev/null

        if [ $? -eq 0 ]

        then

            echo    "安装httpd成功!"

        else

            echo    "安装httpd失败!"

        fi

        sleep 2

        lamp_menu

        ;;

    2)

        yum install -y mysql-server &> /dev/null

        if [ $? -eq 0 ]

        then

            echo    "安装mysql成功!"

        else

            echo    "安装mysql失败!"

        fi

        sleep 2

        lamp_menu

        ;;

    3)

       

        yum install -y php* &> /dev/null

        if [ $? -eq 0 ]

        then

            echo    "安装PHP成功!"

        else

            echo    "安装PHP失败!"

        fi

        sleep 2

        lamp_menu

        ;;

    4)

        clear

        menu

        ;;

    *)

        clear

        echo

        echo -e "\033[31mYour Enter the wrong,Please input again Choice:[1-4]\033[0m"

        lamp_menu

esac

}

#二级菜单lnmp的定义

function lnmp_menu(){

cat     <<  EOF

----------------------------------------------

|*******Please Enter Your Choice:[1-4]*******|

----------------------------------------------

* `echo -e "\033[35m 1)nginx install\033[0m"`

* `echo -e "\033[35m 2)mysql install\033[0m"`

* `echo -e "\033[35m 3)php install\033[0m"`

* `echo -e "\033[35m 4)return main menu\033[0m"`

EOF

read -p "please input second_lnmp options[1-4]: " num3

expr $num3 + 1 &>/dev/null #这里加1,判断输入的是不是整数。

if [ $? -ne 0 ]

then

        echo "###########################"

        echo "Waing !!!,input error "

        echo "Please enter choose[1-4]:"

        echo "##########################"

        sleep 1

elif [ $num3 -gt 4 ]

then

        echo "###########################"

        echo "Waing !!!,Out of range "

        echo "Please enter choose[1-4]:"

        echo "##########################"

        sleep 1

fi

case $num3 in

    1)

        yum install -y nginx &> /dev/null

        if [ $? -eq 0 ]

        then

            echo    "安装nginx成功!"

        else

            echo    "安装nginx失败!"

        fi

        sleep 2

        lnmp_menu

        ;;

    2)

        yum install -y mysql-server &> /dev/null

        if [ $? -eq 0 ]

        then

            echo    "安装mysql成功!"

        else

            echo    "安装mysql失败!"

        fi

        sleep 2

        lnmp_menu

        ;;

    3)

       

        yum install -y php* &> /dev/null

        if [ $? -eq 0 ]

        then

            echo    "安装PHP成功!"

        else

            echo    "安装PHP失败!"

        fi

        sleep 2

        lnmp_menu

        ;;

    4)

        clear

        menu

        ;;

    *)

        clear

        echo

        echo -e "\033[31mYour Enter the wrong,Please input again Choice:[1-4]\033[0m"

        lnmp_menu

esac

}




#定义一个底部定义一个死循环实现程序的循环输入

clear

menu

while true

do

    read -p "##please Enter Your first_menu Choice:[1-4] " num1

    expr $num1 + 1 &>/dev/null #这里加1,判断输入的是不是整数。

    if [ $? -ne 0 ]

    then

            echo "###########################"

            echo "Waing !!!,input error "

            echo "Please enter choose[1-4]:"

            echo "##########################"

            sleep 1

    elif [ $num1 -gt 4 ]

    then

            echo "###########################"

            echo "Waing !!!,Out of range "

            echo "Please enter choose[1-4]:"

            echo "##########################"

            sleep 1

    else

        case    $num1   in

            1)

                clear

                lamp_menu

                ;;

            2)

                clear

                lnmp_menu

                ;;

            3)

                clear

                break

                ;;

            4)

                clear

                menu

                ;;

            *)

                clear

                echo -e "\033[31mYour Enter a number Error,Please Enter again Choice:[1-

4]: \033[0m"

            menu

        esac

    fi

done

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值