私のコード:
read -ra var <<<$(sed -ne's/^ *:\([[:upper:]]*\).*/\1/p' /etc/sysconfig/iptables)
chains=$(whiptail --title "Add rule" --menu "chains" 16 78 5 "${var[@]}" 3>&1 1>&2 2>&3)
利用可能なすべてのiptablesチェーンをホイップテールメニューに入れたいのですが、スクリプトを実行すると、次のようになります。
しかし、ホイップテール構文に--ok-button
を追加すると、次のようになります。
chains=$(whiptail --title "Add rule" --menu "chains" 16 78 5 --ok-button "${var[@]}" 3>&1 1>&2 2>&3)
--ok-buttonの後にいくつかの選択肢を書く必要があることはわかっていますが(例:Ok)、このスクリプトを実行すると、最初の画像に示されているものが得られました。
--menu
タグ--notags
を超えて追加しましたが、最初の画像に表示されているものがまだ表示されています。
スペースを削除した場合:
chains=$(whiptail --title "Add rule" --menu "chains" 16 78 5 --ok-button Ok"${var[@]}" 3>&1 1>&2 2>&3)
私はこれを得た:
タグ--notags
を追加して、配列var
内のアイテムのみを表示したいと思います。
この問題を解決するにはどうすればよいですか?
--notags
および--ok-button
オプションは、--menu
オプションの前に配置する必要があります。これらは、menuウィジェットの動作を変更します。
whiptailのドキュメントにはいくつかの作業が必要です。 dialog のマニュアルページが役立つかもしれません:strings /usr/bin/whiptail
から、whiptailには--notags
オプションがあることがわかりますが、そうではありません whiptail 's マニュアルページで説明されています。ダイアログ内:
--no-tags
Some widgets (checklist, inputmenu, radiolist, menu) display a
list with two columns (a "tag" and "description"). The tag is
useful for scripting, but may not help the user. The --no-tags
option (from Xdialog) may be used to suppress the column of tags
from the display. Unlike the --no-items option, this does not
affect the data which is read from the script
dialogは--notags
を-no-tags
にマップします(Xdialogは、最初に機能を実装し、後者の名前)。