做出动态选择。救命! Whiptail,Bash脚本

时间:2014-07-18 22:43:53

标签: bash unix menu whiptail

我是Whiptail的新手。

我想创建一个程序,允许用户显示某些内容的信息,例如网卡。

我希望菜单是动态的,例如: 我的计算机系统此刻插入了2个网卡,因此菜单将为用户提供2个选项:

eth0 lo

但是,如果进行了更改,例如添加了另一个名为lo1的网卡,程序将更新更改并允许用户拥有最新的选择集:

eth0 lo lo1

此刻我正在这里。指导我们..

#!/bin/bash
clear

ifconfig -a | sed -n 's/^\([^ ]\+\).*/\1/p' > somefile

array=($(<somefile))

whiptail --title Networking --menu "select your choice" 16 78 5 "${array[@]}"

此致

盐酸

1 个答案:

答案 0 :(得分:1)

我假设问题是你需要重复的名字对才能获得鞭尾,你不确定如何从你的名单到达那里?

在这种情况下,这样的事情可能会更好:

read -ra array <<<$(ifconfig -a | awk '!/^ / && NF {print $1; print $1}')
whiptail --title Networking --menu "select your choice" 16 78 5 "${array[@]}"

阅读this page了解您要使用read -a构造的原因。