Bash

鞭尾或對話

  • March 9, 2021

我將創建一個使用使用者輸入的腳本,所以我決定使用whiptail.

但是現在我有點困惑哪個是便攜的並且可以在 Ubuntu 10.x 及更高版本和 CentOS 5.x 及更高版本上執行。

我知道read,但我想要一個像dialog. 如果有人知道任何替代方案,請告訴我。

whiptail在大多數基於 deb 的系統上預設安裝,而dialog沒有安裝。

公平地說,基於 rpm 的whiptail也是預設對話應用程序。

我想這對你很重要。

whiptail從便攜性的角度來看,正確的選擇也是如此。

也是whiptail基於newt,whiledialog是基於ncurses。從我的角度來看,第一個更漂亮(:

根據對話框(1)手冊頁的兼容性部分

然後是鞭尾。出於實際目的,它由 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 程序相比,whiptaildialog的兼容性較差。

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(無論如何都不准確)。

引用自:https://unix.stackexchange.com/questions/64627