我的代码:
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
我可以做什么来解决这个问题?
答案1
和--notags
选项--ok-button
应该消失前选项--menu
。那些修改的行为菜单小部件。
的文档鞭尾需要一些工作。您可能会找到以下内容的手册页对话有帮助:我从中strings /usr/bin/whiptail
看出鞭尾有一个--notags
选项,但没有描述鞭尾的手册页。在对话框中:
--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
对话映射--notags
到-no-tags
(X对话首先实现该功能,使用后一个名称)。