是什麼
echo $?
在bash編程呢?
是什麼
echo $?
在bash編程呢?
這是最後執行的命令的退出狀態。
例如命令true
總是返回0
和false
狀態總是返回1
狀態:
true
echo $? # echoes 0
false
echo $? # echoes 1
從手冊:(acessible在你的shell調用man bash
)
$?
擴展到最近執行的前臺管道的退出狀態。
按照慣例退出狀態0
表示成功,非零返回狀態表示失敗。瞭解更多關於退出狀態on wikipedia。
有這樣的其他特殊變量,你可以在這個在線手冊看看:https://www.gnu.org/s/bash/manual/bash.html#Special-Parameters
它有一個命令的最後一個狀態代碼(出口值)。
從http://www.gnu.org/s/bash/manual/bash.html#Special-Parameters
?
Expands to the exit status of the most recently executed foreground pipeline.
見The Bash Manual3.4.2 Special Parameters下:
? - 擴展到最近執行的前臺管道的退出狀態。
這是一個有點很難找到,因爲它並不像$?
上市(變量名是「公正」 ?
)。另請參閱當然;-)
快樂編碼的exit status部分。
輸出最後執行的unix命令
0 implies true
1 implies false
$的結果呢?返回最後執行的命令的退出值。回聲$?在控制檯上打印該值。零表示成功執行,而非零值映射到各種失敗原因。
因此,當腳本;我傾向於使用下面的語法
if [ $? -eq 0 ]; then
# do something
else
# do something else
fi
的比較是要在平等做0或不等於0
回聲$? - 給人的最近執行的命令的退出狀態。這個退出狀態將最可能與ZERO暗示成功和任何非零值,指示失敗
多少? - 這是bash中的一個特殊參數/變量。
$? - 它給存儲在變量「?」中的值。
BASH中的一些類似的特殊參數是1,2,*,#(通常在echo命令中可以看到$ 1,$ 2,$ *,$#等)。
希望這有助於....
的Unix簡而言之就是非常值得選購在我看來出版物。 – wberry