跳转至

选择菜单项

语法

  choose [--menu <menu>] [--default <label>] [--keep]
         [--timeout <timeout>] [--retimeout <timeout>] <setting>

示例

创建并显示一个简单的菜单

  menu Please choose an operating system to boot
  item fedora   Fedora Linux
  item win7     Windows 7
  choose os

从菜单中选择并跳转到选中的脚本标签

  choose target && goto ${target}

从菜单中选择,带默认项和三秒超时

  menu
  item linux    Boot Linux
  item shell    Enter iPXE shell
  item exit     Exit to BIOS
  choose --default exit --timeout 3000 target && goto ${target}

描述

从菜单中选择一项,并把结果存储到指定的设置中;在指定的超时时间(毫秒)后默认选择指定的菜单项。如果没有显式指定超时时间,或指定为零超时,iPXE 会无限期等待。

A sample menu

发生任何用户活动(例如按键)之后,超时时间会重置为指定的 retimeout 值(毫秒)。如果没有显式指定 retimeout,或指定为零,iPXE 会在第一次用户活动之后无限期等待。

如果没有显式指定默认菜单项,则会使用菜单先前已有的默认项(如果有)。如果没有指定菜单,则使用默认的(未命名)菜单。除非指定了 --keep 选项,否则菜单会被自动删除。

命令状态

成功 成功存储了一个选择
失败 未能成功存储选择

另请参阅

备注

用户可以使用 Ctrl-C(或 Escape)退出菜单而不做任何选择。因此你可能希望始终处理 choose 命令失败的情况。例如:

  choose os || goto cancelled

choose 命令的 --default 选项会覆盖任何使用 item 命令指定的默认项。

你可以使用任何合法的设置名称,包括作用域和类型。例如:

  menu Select a DNS server
  item ${netX/dns}    Current DNS server (${netX}/dns)
  item 8.8.8.8        Google public DNS
  choose dns:ipv4

你可以使用 console 命令为菜单添加背景图片,提升菜单的外观效果。