![从选择菜单运行程序](https://linux22.com/image/1000247/%E4%BB%8E%E9%80%89%E6%8B%A9%E8%8F%9C%E5%8D%95%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F.png)
我创建了一个简单的 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
简单示例:
选择脚本:
#!/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 ]]
如果最后一行不是以 a 结尾,则防止忽略最后一行\n
(因为 read 在遇到 EOF 时会返回非零退出代码)。[ ! -z "$line" ]
忽略源文件中的空行。${array[@]}
数组值