(Shell Scripting) - Modifica arquivos com entrada do usuário

0

Eu quero criar um script ( script.sh ) para alterar o conteúdo de /etc/proxychains.conf . Eu gostaria de fazer isso na forma de um menu, então algo assim:

Depois de executar ./script.sh

[1] Add Proxychain

[2] Start Proxychains

[3] Exit

Please select an option:

Se o usuário selecionar [1] , gostaria de solicitar essas entradas:

Type of Proxy:

Proxy IP Address:

Proxy Port:

E use essas entradas da seguinte forma: ( socks5 127.0.0.1 9050 ) na parte inferior do arquivo /etc/proxychains.conf , onde você normalmente adicionaria suas informações de proxy. Eu estava pensando em talvez atribuir cada entrada como $type $ip $port (para que você possa exibir cada campo ao lado do outro). Mas como posso fazê-lo para que ele encontre automaticamente esse ponto no arquivo proxychains.conf e adicione esses campos a ele sob quaisquer outros adicionados privadamente.

E depois eu gostaria de voltar ao menu de opções onde, se o usuário pressiona [2] , ele seria executado:

proxychains firefox

E, claro, depois que o firefox fechar, eu gostaria de trazer de volta o menu onde, se o usuário selecionar [3] , o echo "Goodbye" sleep 1s sairia.

    
por iamr00t 13.07.2017 / 01:30

1 resposta

1

Este script deveria ter resolvido seu problema. E Na próxima vez tente escrever um script e pergunte se você tem algum problema em vez de pedir soluções completas.

#! /bin/bash
function menu {
    echo ""
    echo "++++++++++++++++++++++++++++++++++++++++++++"
    echo "+++++proxychain applications version1.0+++++"
    echo "++++++++++++++++++++++++++++++++++++++++++++"
    echo "[1] Add Proxychain"
    echo "[2] Start Proxychains" 
    echo "[3] Exit"
    echo "[4] Cat specified file"
    read -p "Please select an option : " option
}

function input {
    read -p "Input Type of Proxy : " type
        read -p "Input Proxy IP Address : " ip_addr
        read -p "Inport Proxy Port : " port
        if [ ! -z "${type}" ]&&[ ! -z "${ip_addr}" ]&&[ ! -z "${port}" ]
    then
        echo -e "${type}\t${ip_addr}\t${port}" >>proxychains.conf
    else
        input   
    fi
}

function start {
    echo "proxychains firefox"
}

function terminate {
    if [ -z "$(pgrep firefox)" ]
    then
        echo -e "Goodbye\n"
        sleep 1
        end_script=1
        exit 0
    else
        echo -e "Terminating firefox!\n"
        pkill firefox
        echo "Goodbye"
        end_script=1
        exit 0
    fi
}

function catme {
    read -p "Input the file path : " file_path
    cat "${file_path}"
    exit 0
}

end_script=0
while [ "${end_script}" != 1 ];do
    menu
    current_stage=${option}
    case ${option} in
        1)
            input
        ;;

        2) 
            start
        ;;

        3) 
            terminate
            exit 0
        ;;

        4)  
            catme
        ;;

        *)
            echo "unknown usage!"
        ;;
    esac
    
por 13.07.2017 / 04:15