逻辑与运算中的混淆

  • 本文关键字:运算 linux operators cc
  • 更新时间 :
  • 英文 :


我对以下表达式的工作方式有些困惑。

cc file_name.c  && ./a.out 

当filename.c成功编译时,其存在状态将为0(零)。所以按照逻辑&操作,第二个表达式(./a.out)假定不执行。但它仍然有效,给了我结果。它是如何工作的?

感谢

0表示在shell中的成功。这与C中的不同。来自bash手册页:

AND和OR列表是由&amp││控制运算符。"与"one_answers"或"列表以左关联性执行。AND列表的形式为

命令1 &amp 命令2

当且仅当command1返回零的退出状态时,执行command2

执行shell命令时,返回值为0表示命令执行成功。非零值表示处理命令时出错。因此,如果上一个命令成功,它将继续执行下一个命令,否则将中止。

相关内容

  • 没有找到相关文章

最新更新