我正在使用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
有关,如果我删除它就会消失问题,但至于为什么我不知道。
任何人都可以帮我解决问题,或建议解决方法吗?
感谢您的帮助!这个问题真的让我很难过。
答案 0 :(得分:0)
感谢abhishek phukan获得答案!
通过使用==
shell希望将变量视为字符串,-eq
通常用于整数运算,在这种情况下效果更好。为什么潜台词影响了我不知道的答案。