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