如何在使用声明"declare"变量 bash 时获取退出状态



我正在使用声明和鞭尾来创建一个变量。来自 whiptail 的用户输入被定义为带有 dedeclare 的变量。我想使用鞭尾的退出状态(即取消或 esc),但我只是从声明语句中获取退出代码?

这是一段代码

declare DiagRes[$count]=$(whiptail --inputbox "${Description[$count]}"  8 110 
                                   --backtitle "OVF Wizard" 
                                   --title "${Label[$count]}" 3>&1 1>&2 2>&3 )

如果我在鞭尾上点击取消或 esc,回显 $? 给我 0,因为声明语句成功

有没有办法将退出代码与后面的鞭尾的声明语句分开?

提前致谢

为什么要使用声明?如果你刚刚写:

DiagRes[$count]=$(whiptail                                  
                  --inputbox "${Description[$count]}" 8 110 
                  --backtitle "OVF Wizard"                  
                  --title "${Label[$count]}" 3>&1 1>&2 2>&3 )

它也可以完成分配,并且您将获得状态返回。(如果分配了元素,则会自动创建非关联数组,因此您无需declare -a它们,除非您希望它们是本地的。

实际上,您可以编写:

DiagRes[count]=$(whiptail                                 
                 --inputbox "${Description[count]}" 8 110 
                 --backtitle "OVF Wizard"                 
                 --title "${Label[count]}" 3>&1 1>&2 2>&3 )

因为非关联数组的下标是算术上下文。

相关内容

  • 没有找到相关文章

最新更新