鞭尾怪行为

鞭尾怪行为

我的代码:

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对话首先实现该功能,使用后一个名称)。

相关内容