什么叫`返回-1 || 退出-1`是什么意思?

Hai*_* Vu 4 bash

我对以下bash行感到困惑,由其他人写的:

return -1 || exit -1
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我理解||构造意味着如果第一部分(在这种情况下return -1)失败(即返回非零代码),则执行第二部分(exit -1).同样奇怪的是,这个语句不是任何函数的一部分,而是在脚本的主体中.

我感谢有人向我解释这一点.

hee*_*ayl 5

这里return是脚本source-ed 时退出的技巧,exit通常是退出shell.

所以基本上上面的条件是退出脚本的执行循环,无论是source-ed还是执行.

另请注意,不支持负返回值bash.在这两种情况下,您将获得255的退出状态,而不是-1.

  • Mayb还注意到负面状态代码通常不正确或不受支持. (2认同)