从选择菜单运行程序

从选择菜单运行程序

我创建了一个简单的 bash 脚本来创建一个如下所示的选择菜单:

1)运行 nmap 2)Wireshark 3)metasploit 框架 4)退出

现在我想按照菜单选择运行这些程序。我对 bash 脚本非常陌生,因此在这里寻求任何人的帮助。

答案1

读取将用户输入读入变量。

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

从这里开始设置 $OPION 变量,使用以下方法进行测试

if [ "$OPTION" == "1" ]
then
   ...

答案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:接受命令并创建一个array调用array,然后
  2. 从数组中读取命令并创建menu您选择的命令。

信息:

  1. IFS=''(或IFS=)可防止修剪前导/尾随空格。

  2. -r防止反斜杠转义被解释。

  3. || [[ -n $line ]]如果最后一行不是以 a 结尾,则防止忽略最后一行\n(因为 read 在遇到 EOF 时会返回非零退出代码)。

  4. [ ! -z "$line" ]忽略源文件中的空行。

  5. ${array[@]}数组值

相关内容