鞭尾或對話
我將創建一個使用使用者輸入的腳本,所以我決定使用
whiptail
.但是現在我有點困惑哪個是便攜的並且可以在 Ubuntu 10.x 及更高版本和 CentOS 5.x 及更高版本上執行。
我知道
read
,但我想要一個像dialog
. 如果有人知道任何替代方案,請告訴我。
whiptail
在大多數基於 deb 的系統上預設安裝,而dialog
沒有安裝。公平地說,基於 rpm 的
whiptail
也是預設對話應用程序。我想這對你很重要。
whiptail
從便攜性的角度來看,正確的選擇也是如此。也是
whiptail
基於newt
,whiledialog
是基於ncurses
。從我的角度來看,第一個更漂亮(:
然後是鞭尾。出於實際目的,它由 Debian 維護(其上游開發人員完成的工作很少)。它的文件(README.whiptail)聲稱
> > Whittail (1) 是dialog (1) 的輕量級替代品,為 shell 腳本提供對話框。它建立在 newt 視窗庫而不是 ncurses 庫之上,允許它在諸如安裝程序、救援磁碟等嵌入式環境中變得更小。 > > > whiptail 被設計為與 dialog 兼容,但功能較少:一些對話框沒有實現,例如 tailbox、timebox、calendarbox 等。 > > >
比較實際大小(Debian 測試,2007/1/10):whiptail、newt、popt 和 slang 庫的總大小為 757 KB。對話的可比數字 (計算 ncurses)為 520 KB。無視第一段。
第二段具有誤導性,因為 whiptail* 也不適用於dialog的常見選項,例如儀錶框。 與1990 年代中期最初的 dialog 0.4 程序相比,whiptail 與 dialog的兼容性較差。
Whittail的手冊頁借鑒了 dialog的特性,例如,但奇怪的是只引用了 0.4 (1994) 之前的對話框版本作為來源。也就是說,它的手冊頁指的是從較新版本的dialog中藉用的功能,例如,
- –gauge(從 0.5 開始)
- –passwordbox(來自 Debian 1999 年的更改),
- –default-item(來自對話框2000/02/22 ),
- –output-fd(來自對話框2002/08/14)。
有點幽默的是,有人可能會注意到使用“–”作為轉義符的popt功能(在其手冊頁中未記錄)已在****dialog的手冊頁中記錄了大約一年,然後才在whiptail的手冊頁中被提及。 Whittail的聯機幫助頁錯誤地將其歸因於getopt(無論如何都不准確)。