Я создал простой bash скрипт для создания меню выбора, которое выглядит следующим образом:
1) Запустите nmap 2) Wireshark 3) metasploit framework 4) Exit
Теперь я хочу запустить эти программы в соответствии с выбором меню. Я очень новичок в написании сценариев на bash, поэтому ищу чьей-либо помощи здесь.
Простой пример:
Избранный сценарий:
#!/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
операция Сценария:
while loop
: Возьмите команды a, создают array
названный array
, затем menu
, что Вы выбираете из. информация:
IFS=''
(или IFS=
) препятствует тому, чтобы пробел продвижения/запаздывания был обрезан.
-r
предотвращает побеги обратной косой черты из того, чтобы быть интерпретируемым.
|| [[ -n $line ]]
препятствует тому, чтобы последняя строка была проигнорирована, если она не заканчивается \n
(так как считанные возвраты ненулевой код выхода, когда она встречается с EOF).
[ ! -z "$line" ]
игнорируют пустые строки в исходном файле.
${array[@]}
значения массива
Читайте читает ввод данных пользователем INA в переменную.
echo 'Select an option
1) Run nmap
2) Wireshark
3) metasploit framework
4) Exit?'
read OPTION
Отсюда на переменной $OPION установлен, тест с
if [ "$OPTION" == "1" ]
then
...