2014-07-18 16 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不要顯示那些你不想顯示的人。 –