запуск программ из меню выбора [дубликат]

Я создал простой bash скрипт для создания меню выбора, которое выглядит следующим образом:

1) Запустите nmap 2) Wireshark 3) metasploit framework 4) Exit

Теперь я хочу запустить эти программы в соответствии с выбором меню. Я очень новичок в написании сценариев на bash, поэтому ищу чьей-либо помощи здесь.

1
задан 12 May 2017 в 17:42

2 ответа

Простой пример:

  1. Избранный сценарий:

    #!/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  
    

операция Сценария:

  1. while loop: Возьмите команды a, создают array названный array, затем
  2. Read команды от массива и создают menu, что Вы выбираете из.

информация:

  1. IFS='' (или IFS=) препятствует тому, чтобы пробел продвижения/запаздывания был обрезан.

  2. -r предотвращает побеги обратной косой черты из того, чтобы быть интерпретируемым.

  3. || [[ -n $line ]] препятствует тому, чтобы последняя строка была проигнорирована, если она не заканчивается \n (так как считанные возвраты ненулевой код выхода, когда она встречается с EOF).

  4. [ ! -z "$line" ] игнорируют пустые строки в исходном файле.

  5. ${array[@]} значения массива

0
ответ дан 8 December 2019 в 05:24

Читайте читает ввод данных пользователем INA в переменную.

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

Отсюда на переменной $OPION установлен, тест с

if [ "$OPTION" == "1" ]
then
   ...
0
ответ дан 8 December 2019 в 05:24

Другие вопросы по тегам:

Похожие вопросы: