executa programas no menu de seleção [duplicado]

1

Eu criei um script simples para criar um menu de seleção com esta aparência:

1) Execute o nmap 2) Wireshark 3) framework de metasploit 4) Saída

agora quero executar esses programas de acordo com a seleção de menu. Eu sou muito novo para bash scripting então procurando ajuda de alguém aqui.

    
por rajan 12.05.2017 / 16:42

2 respostas

0

Exemplo simples:

  1. Selecione o script:

    #!/bin/bash
    
    array=()
    
    while IFS= read -r line || [[ -n "$line" ]]
    do
        if [ ! -z "$line" ]; then
            array+=("$line")
        fi
    done < "$1"
    
    select fname in "${array[@]}";
    do
        /bin/bash -c "$fname"
        break;
    done  
    

Operação de script:

  1. while loop : tome comandos para criar um array chamado array , então
  2. Leia os comandos da matriz e crie um menu de sua escolha.

Informação:

  1. IFS='' (ou IFS= ) impede que o espaço em branco inicial / final seja aparado.

  2. -r impede que as falhas de barra invertida sejam interpretadas.

  3. || [[ -n $line ]] impede que a última linha seja ignorada se não terminar com \n (pois read retorna um código de saída diferente de zero quando encontra EOF).

  4. [ ! -z "$line" ] ignora linhas em branco no arquivo de origem.

  5. ${array[@]} valores da matriz

por George Udosen 12.05.2017 / 16:57
0

Read lê uma entrada do usuário para uma variável.

echo 'Select an option
  1) Run nmap 
  2) Wireshark 
  3) metasploit framework 
  4) Exit?'
read OPTION

A partir daqui, a variável $ OPION está definida, teste com

if [ "$OPTION" == "1" ]
then
   ...
    
por teknopaul 12.05.2017 / 18:36