提示用户按键¶
语法¶
prompt [--key <key>] [--timeout <timeout>] [<text>]
示例¶
等待用户按任意键¶
prompt
提示用户按键继续¶
prompt Press any key to continue
如果按下 'q' 则退出脚本¶
prompt --key q Press 'q' to quit && exit ||
除非 2 秒内按下 F12,否则退出脚本¶
prompt --key 0x197e --timeout 2000 Press F12 to boot from network... || exit
给用户提供进入 iPXE shell 的机会¶
prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||
描述¶
提示用户按键,显示指定的文本并等待指定的超时时间(毫秒)。如果没有显式指定超时时间,或指定为零超时,iPXE 会无限期等待。
如果在超时时间内按下了指定的按键,命令状态为成功。如果没有显式指定按键,则按下任意按键都算成功。
用户按键后或超时到期后,显示的文本会被清除。
--key 选项可以指定为字符字面量(例如 q 或 @),也可以指定为扩展 ASCII 字符值。Ctrl-B、F12 等特殊键的键值定义在 iPXE 源代码的 include/ipxe/keys.h 中。一些常用的键值:
| 按键 | 键码 |
|---|---|
| Ctrl-A | 0x01 |
| Ctrl-B | 0x02 |
| Ctrl-C | 0x03 |
| … | |
| Ctrl-Z | 0x1a |
| F5 | 0x107e |
| F6 | 0x127e |
| F7 | 0x137e |
| F8 | 0x147e |
| F9 | 0x157e |
| F10 | 0x167e |
| F11 | 0x187e |
| F12 | 0x197e |
命令状态¶
| 成功 | 在超时时间内按下了指定的按键 |
|---|---|
| 失败 | 在超时时间内没有按下指定的按键 |
另请参阅¶
echo- iPXE 脚本指南
- 全部 iPXE 命令列表
备注¶
为了防止 prompt 命令导致脚本退出,你几乎总是会想要使用 || 运算符。例如,不要使用这样的行:
prompt --timeout 1000 Press any key to install Linux && goto install
如果用户没有按键,prompt 命令就会失败并导致脚本立即退出。你可以使用 || 运算符来确保 prompt 命令的失败得到妥善处理,从而避免这个问题。例如:
prompt --timeout 1000 Press any key to install Linux && goto install || goto no_install
或
prompt --timeout 1000 Press any key to install Linux && goto install ||
关于 && 和 || 运算符的更多信息,请参见 iPXE 脚本指南。
使用嵌入式脚本之后,启动时或引导失败时将不再出现 "Press Ctrl-B for the iPXE command line" 提示。你可以使用 prompt 命令生成自己的提示。例如:
#!ipxe
# Give user a chance to enter the shell
prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE shell... || goto no_shell
shell
exit
:no_shell
# Boot the system
...