如何使“选择”在单个列中显示选项?

时间:2017-09-06 18:04:23

标签: linux bash select

我有一个随机的情况,当我在bash中使用多选菜单并在我的列表选择中添加更多项目时,菜单不再逐行堆叠

echo "         [?] What would you like to do:"
echo
# End

opt=""
select recon in Enumeration General Web-Recon Services Msfvenom Other
do
opt="$recon"
case $recon in 
Enumeration|General|Web-Recon|Services|Msfvenon|Other)   
        break
        ;;
*)
        echo # Spacer
        echo "You Sure? Try it again" 
        ;;
esac
echo $recon
done

我得到的东西是这样的:

         [?] What would you like to do:

1) Enumeration  3) Web-Recon    5) Msfvenom
2) General      4) Services     6) Other
#? 

但是我更愿意看起来像这样:

1) Enumeration
2) General  
3) Web-Recon
4) Services 
5) Msfvenom             
6) Other

有没有办法告诉脚本这样做? 谢谢

2 个答案:

答案 0 :(得分:2)

COLUMNS=0命令之前使用select

使用bash 4.2.8进行测试。

答案 1 :(得分:0)

您可以检查以下脚本并根据要求进行添加

#!/bin/bash
echo -n  "[?] What would you like to do : "
echo
echo

echo "1) Enumeration"
echo "2) General"
echo "3) Web-Recon"

echo
read entry
echo
case $entry in
    1)
        echo "Enumeration"  
        break
        ;;
    2)
        echo "General"
        break
        ;;
    3)
        echo "Web-Recon"
        break
        ;;
    default)
        echo "Default Action"
        break
        ;;
esac

以下是此

的输出
[?] What would you like to do : 

1) Enumeration
2) General
3) Web-Recon

2

General

相关问题