【发布时间】:2020-02-13 12:41:06
【问题描述】:
考虑:
true; run_backup=$?
if [[ $run_backup ]]; then
echo "The user wants to run the backup"
fi
...和...
false; run_backup=$?
if [[ $run_backup ]]; then
echo "The user wants to run the backup"
fi
The user wants to run the backup 无论run_backup 是0(成功)还是1(假)都会发出!
这是怎么回事?
(我真正的命令,而不是true 或false,格式为zenity --question --text "...")。
【问题讨论】:
-
请构建一个minimal reproducible example -- 尽可能短的 代码,在不更改运行时演示问题。在发布之前,应删除任何与展示特定问题行为无关的内容。
-
也就是说——为什么
zenity在问题里?并确保您的代码仍然实际工作来演示错误;没有主体的空函数是语法错误,所以这段代码肯定行不通;尝试运行它的人会得到一个错误,而不是您试图向我们展示的错误。 -
@CharlesDuffy 你必须滚动,但是
RUN_BACKUP是zenity的退出状态。 -
我希望看到编辑的描述以引用实际的函数名称和感兴趣的条件;原样......'一个条件','另一个条件','强制条件','调用一个函数','调用另一个函数','移动到下一个函数'......如果我没有太大帮助'我不得不猜测将这些通用术语映射到示例代码
-
@chepner, ...当然,但我看不出有任何正当理由让这个问题实际上包括 zenity。硬编码
RUN_BACKUP=0将使没有 zenity 的复制者可以测试(如果它没有,则 OP 可以将问题缩小到仅关于 zenity 而没有其他问题)。