我对别人写的以下bash命令行感到困惑:
return -1 || exit -1
这是什么意思?我理解
||
构造意味着如果第一部分(在这种情况下,return -1
)失败(即返回非零代码),那么第二部分(exit -1
)将得到执行。另外奇怪的是,这个语句不是任何函数的一部分,而是在脚本的主体中。感谢有人能向我解释这个。
我对别人写的以下bash命令行感到困惑:
return -1 || exit -1
||
构造意味着如果第一部分(在这种情况下,return -1
)失败(即返回非零代码),那么第二部分(exit -1
)将得到执行。另外奇怪的是,这个语句不是任何函数的一部分,而是在脚本的主体中。return
是一个技巧,用于在脚本被source
执行时退出,而exit
通常会退出shell。source
执行还是直接执行。bash
中不支持负的返回值。在两种情况下,你都会得到退出状态码255,而不是-1。
return
- 包括在Bash中被“.”点化(也称为source
d)时的行为。另请参见exit
。 - Jonathan Leffler