2

我是 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[@]}"

问候,

盐酸

4

1 回答 1

1

我假设问题是您需要为whiptail 重复名称对,并且您不确定如何从您的列表中获取到那里?

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

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

阅读此页面了解您为什么要使用该read -a构造。

于 2014-07-18T23:02:02.013 回答