如果这是一个重复的问题,我提前致歉。在问这里之前,我确实做了搜索/检查的工作。
我很喜欢这样写单行代码:
foocommand && foocommand2 && foocommand3
我的想法是,我只希望在前一个命令“成功”的情况下运行后续命令。
我正在编写一个冗长的脚本,这种单行代码是不可行的,因为它看起来给其他所有人带来了很多混乱的代码。
我想间隔命令并在脚本中在命令之间写注释。我该怎么做却仍然有&&等价的东西?
同样要注意的是,您所描述的这种行为来自
—
AndyPerfect
||
和&&
(与|
或相反&
)称为短路。后一种运算符使用的行为称为“渴望评估”。
@kojiro:我看不出区别。
—
ruakh
a && b && c
只运行b
,如果a
成功,所以“只运行c
,如果b
和”它只能运行成功,“ c
如果a
和b
:两个成功”是等效的语句b
不能成功,除非a
成功。
@ruakh
—
kojiro
a || b && c
更具说明性。
&&
并不意味着如果前一个命令成功,则后续命令将运行。这意味着如果命令列表中所有先前命令的累加结果为成功,则该命令将运行。您可能知道这一点,但将来的读者可能会误解。