Bash

的意思$?==1$?==1$? == 1&& 返回 0

  • November 16, 2018

我需要理解這個命令:

[ $? == 1 ] && return 0

該表達式$?計算為上一個命令的退出程式碼。

&&是一個命令分隔符,當且僅當第一個命令返回退出程式碼為零時才會執行第二個命令。

[或者test是做各種對比測試的shell工具。

我應該指出,==這裡使用的測試是錯誤的,因為它是用於字元串比較的;-eq數值比較的等式檢驗。

So: [ $? -eq 1 ] && return 0將查看前一個命令的退出程式碼,並將其與1. 如果匹配,return 0則將執行該命令(從而繞過我認為是該測試所在函式中的後續命令)。

==和的用法之間的區別在於-eq[ 01 -eq 1 ]是正確的,[ 01 == 1 ]而是錯誤的。

引用自:https://unix.stackexchange.com/questions/445179