2014-07-18 14 views
1

我是Whiptail的新手。做出动态选择。帮帮我! Whiptail,Bashscript

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

我想菜单是动态的,例如: 我的电脑系统在此刻插入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

我假设的问题是,你需要重复whiptail的名称对,你不知道如何从你的列表中得到到那里?

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

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结构。

+0

我的意思就像我想要的输出是这样的, 让我们说我有两个项目在数组中,我希望输出是像一个接一个,而不是并排当前代码正在做。 – Rainbow

+0

好吧,所以插入你的代码后, 输出是这样的 http://i57.tinypic.com/mm3pxs.jpg 我如何使它像我不会重复? – Rainbow

+1

这是一个whiptail的东西。使用'--notags'或'--noitem'中的一个来告诉whiptail不要显示那些你不想显示的人。 –