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