为什么我的if语句不起作用(bash - zenity)?

时间:2017-11-15 04:09:47

标签: bash if-statement zenity yad

我正在使用if语句为yad GUI On Error Resume Next Dim SearchRange as Range Set SearchRange = Sheets("Inventory").Range("G2:G1000").SpecialCells(xlCellTypeVisible) On Error GoTo 0 If Not SearchRange is Nothing Then Dim FoundCell as Range Set FoundCell = SearchRange.Find(mindat, lookat:=xlWhole) If Not FoundCell is Nothing Then minrow = FoundCell.Row End If End If 中选择的每个选项运行不同的响应。

出于某种原因,if语句适用于某些选项,而不适用于其他选项!?

注意:我在示例中用zenity fork代替'^'

'

选项一提供:opt=^yad --list --column="Option" --column="Description" \ 1 "option 1" \ 2 "option 2 <i> subtext </i>" \ | cut -c 1^ echo $opt if [[ $opt == 1 ]] then echo 1 elif [[ $opt == 2 ]] then echo 2 else echo error

选项2提供:1 1

正如2 error输出所显示的那样正在记录变量。我知道它与echo $opt有关,如果我删除它就会消失问题,但至于为什么我不知道。

任何人都可以帮我解决问题,或建议解决方法吗?

感谢您的帮助!这个问题真的让我很难过。

1 个答案:

答案 0 :(得分:0)

感谢abhishek phukan获得答案!

通过使用== shell希望将变量视为字符串,-eq通常用于整数运算,在这种情况下效果更好。为什么潜台词影响了我不知道的答案。