Bash返回运行脚本

时间:2018-01-20 14:41:52

标签: bash

我想制作一个配置脚本。

主脚本以" start.sh"开头。 如果脚本启动,我可以选择"安装" "更新"等

现在我想添加"配置"并添加像上传大小的php congigs等内容.... 但我怎么能回到start.sh?我想使用父ID但我不知道我怎么能使它正确。

  1. Start.sh
  2. 1.2>配置

    1.3>>运行php_config.sh"

    现在我想回到" Start.sh"没有跑" start.sh"再次。我改变的变量将写在一个文件中,并且可以从start.sh>全局读取。安装程序

    感谢oyu

    编辑:对不起快速询问...

    我启动start.sh并安装对话框并制作菜单。 如果用户选择" Make 2"我加载文件并启动该功能。

    #!/bin/bash
    
    #-------------dialog
    apt-get -qq install dialog >/dev/null 2>&1
    
    
    HEIGHT=30
    WIDTH=60
    CHOICE_HEIGHT=14
    BACKTITLE="How to get back"
    TITLE="Back"
    MENU="Choose one of the following options:"
    
            OPTIONS=(1 "Make 1"
                     2 "Make 2"
                     3 "Make 3")
    
            CHOICE=$(dialog --clear \
                            --nocancel \
                            --no-cancel \
                            --backtitle "$BACKTITLE" \
                            --title "$TITLE" \
                            --menu "$MENU" \
                            $HEIGHT $WIDTH $CHOICE_HEIGHT \
                            "${OPTIONS[@]}" \
                            2>&1 >/dev/tty)
    
            clear
            case $CHOICE in
                    1)
                        # Make 1
                        ;;
                    1)
                        # Make 2
    source ${SCRIPT_PATH}/menu_php_7_x.sh; php_7_x_config
                        ;;
                    1)
                        # Make 3
                        ;;
    
            esac
    

    menu_php_7_x.sh是这样的:

    #!/bin/bash
    php_7_x_config() {
    
    HEIGHT=30
    WIDTH=60
    CHOICE_HEIGHT=6
    BACKTITLE="config php"
    TITLE="Choose php.ini config"
    MENU="Choose one of the following options:"
    
        OPTIONS=(1 "Change post_max_size"
                    2 "Change upload_max_filesize"
                    3 "Change memory_limit"
                )
    
        CHOICE=$(dialog --clear \
                        --nocancel \
                        --no-cancel \
                        --backtitle "$BACKTITLE" \
                        --title "$TITLE" \
                        --menu "$MENU" \
                        $HEIGHT $WIDTH $CHOICE_HEIGHT \
                        "${OPTIONS[@]}" \
                        2>&1 >/dev/tty)
    
        clear
        case $CHOICE in
                1)
                    CHOICE_HEIGHT=2
                    MENU="Change post_max_size"
    
                                post_max_size=$(dialog --clear \
                                        --backtitle "$BACKTITLE" \
                                        --inputbox "Please Type your post_max_size value:" \
                                        $HEIGHT $WIDTH \
                                        3>&1 1>&2 2>&3 3>&- \
                                        )
                    ;;
    
                    2)
                    CHOICE_HEIGHT=2
                    MENU="Change upload_max_filesize"
    
                                upload_max_filesize=$(dialog --clear \
                                        --backtitle "$BACKTITLE" \
                                        --inputbox "Please Type your upload_max_filesize value:" \
                                        $HEIGHT $WIDTH \
                                        3>&1 1>&2 2>&3 3>&- \
                                        )
                    ;;
    
                    3)
                    CHOICE_HEIGHT=2
                    MENU="Change memory_limit"
    
                                memory_limit=$(dialog --clear \
                                        --backtitle "$BACKTITLE" \
                                        --inputbox "Please Type your memory_limit value:" \
                                        $HEIGHT $WIDTH \
                                        3>&1 1>&2 2>&3 3>&- \
                                        )
                    ;;
    
        esac
        # Back to menu
        start.sh
    }
    

    这只是一个例子,我想让配置包含更多选项和预选,或者用户从选择中选择并且没有输入值。

    我现在的问题是如何回到脚本让用户运行安装。

0 个答案:

没有答案