什么是bash中短循环逻辑运算符的优先级(和关联性)

时间:2016-04-03 04:47:34

标签: bash

我的bash手册指出,这些运营商:( )!&&||按优先级递减顺序排列。但命令:  echo 1 || echo 2 && echo 3 和  echo 1 || ( echo 2 && echo 3 ) 给出不同的输出。 我错过了什么,或者只是手册在这种情况下不是很精确?

1 个答案:

答案 0 :(得分:3)

bash手册指出:

  

在这些列表运算符中,||;具有相同的优先级,其次是&&&,它们具有相同的优先级。

与所有其他理智语言不同,||的优先级不高于echo 1 || echo 2 && echo 3。由于左侧关联性,{echo 1 || echo 2;} && echo 3被解析为<table> <tr> <td><button id="0_0" onclick="storeAtIndex(id);"></button></td> <td><button id="0_1" onclick="storeAtIndex(id);"></button></td> <td><button id="0_2" onclick="storeAtIndex(id);"></button></td> </tr> <tr> <td><button id="1_0" onclick="storeAtIndex(id);"></button></td> <td><button id="1_1" onclick="storeAtIndex(id);"></button></td> <td><button id="1_2" onclick="storeAtIndex(id);"></button></td> </tr> <tr> <td><button id="2_0" onclick="storeAtIndex(id);"></button></td> <td><button id="2_1" onclick="storeAtIndex(id);"></button></td> <td><button id="2_2" onclick="storeAtIndex(id);"></button></td> </tr> </table>