gpt4 book ai didi

linux - 鞭尾输入框取消不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:24 24 4
gpt4 key购买 nike

我创建了一个循环来为新用户完成一些虚拟机设置功能,它会完成添加主机名、IP 地址等操作。但是,如果我单击任何一个中的“取消”按钮whiptail 窗口,它只是移动到循环中的下一个 whiptail 元素。如果选择了 Cancel,我该如何设置取消循环并返回主菜单窗口?

while true
do

OPTION=$(whiptail --title "Configuration Menu" --menu "Choose an option" 20 78 10 \
"1" "Show current configuration." \
"2" "Setup Wizard." \
...
"0" "EXIT" 3>&1 1>&2 2>&3)

exitstatus=$?

case "$OPTION" in
...
2)
# Setup hostname
HOSTNAME=$(whiptail --inputbox "Hostname" 8 78 `hostname` --title "Serial Number" 3>&1 1>&2 2>&3)
...
# IP address configuration
IP_CONFIG=$(whiptail --title "Network Configuration" --radiolist "Choose a configuration option" 20 78 10 \
"DHCP" "Use Dynamic Host Protocol" ON \
"STATIC" "Configure Static IP" OFF 3>&1 1>&2 2>&3)
...
;;
esac

这是主菜单的样子: enter image description here

如果在第一个输入框中单击“取消”... enter image description here

我被发送到下一个 whiptail 元素,而不是取消到主菜单: enter image description here

最佳答案

好的,明白了。我必须将每个案例选项包装在它自己的 exitstatus = 0 测试中:

2)
# Setup serial number
SERIAL=$(whiptail --inputbox "Serial Number" 8 78 `hostname` --title "Serial Number" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
...
else
break
fi
;;
...

关于linux - 鞭尾输入框取消不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38877447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com