从机器的Web界面操作sh脚本

时间:2018-10-25 11:00:55

标签: linux web-services sh

我有一台带有sh脚本的ubuntu 18.04服务器,它可以根据用户输入控制其他脚本。
是否可以创建服务器的Web界面,从那里运行脚本,能够输入命令并读取输出?
我已经在服务器上安装了LAMP(将来还想创建一个登录页面并重定向到“脚本控制菜单”)。
关于应该从哪里开始或几行代码的任何建议,例如,我想访问http://10.10.10.1时有一个“连接”按钮,当按下该按钮以打开webCLI窗口并启动脚本时,还可以输入该窗口中的命令。

脚本称为vpn.sh,看起来像

#!/bin/sh
GREEN='\033[92m'
END='\033[0m'
bold=$(tput bold)


echo
echo
while true;
do
echo "Based on your input ${bold}${GREEN}bridge${END} or ${bold}${GREEN}router${END}, according VPN script will start, any other input will terminate"
echo
read modem
case $modem in
(bridge)
    echo
    sleep 1
    echo
    while true;
    do
    echo "${bold}${GREEN}Bridge${END}: Check direct routing(${bold}dr${END}), load VPN configurations(${bold}vpn${END}) or select another mode(${bold}q${END})"
    read bridgem
    case $bridgem in
        (dr)
            echo
            sleep 1
            echo "Direct routing selected"
            echo
            ./dr.sh
            echo ;;
        (vpn)
            echo
            sleep 1
            echo "Loading VPN configurations"
            iptables -t nat -F
            echo
            echo "Building GRE tunnel"
                    ./gre_server.sh
                    sleep 1
                    echo
                    echo "Starting VPN script"
                    sleep 1
                    python3 VPN_routes_server.py
                    echo  ;;
        (q)
            iptables -t nat -F
            break ;;   
    esac
    done;;
(router)
    echo
    sleep 1
    while true;
    do
    echo "${bold}${GREEN}eRouter${END}: Check direct routing(${bold}dr${END}), load VPN configurations(${bold}vpn${END}) or select another mode(${bold}q${END})"
    read routerm
    case $routerm in
        (dr)
            echo
            sleep 1
            echo "Direct routing selected"
            echo
            ./dr_NAT.sh
            echo;;
        (vpn)
            echo
            sleep 1
            echo "Loading VPN configurations"
            iptables -t nat -F
            echo
            sleep 1
            echo "Starting VPN script"
            sleep 1
            python3 VPN_routes_server_NAT.py
            echo    ;;
        (q)
            iptables -t nat -F
            break;;
    esac
    done;;
 (*)    echo EXIT
    break   ;;
esac
done

0 个答案:

没有答案