2016-10-16 182 views
-3

閱讀時退出狀態返回非零值 如果bash時遇到EOF是無類型語言的bash腳本:退出狀態

[email protected]:~$ read var1 

    me 
[email protected]:~$ echo $? 
0 
[email protected]:~$ read var1 

[email protected]:~$ echo $? 
0 
+0

歡迎來到Stack Overflow。請儘快閱讀[關於]和[問]頁面。我已盡力使您的問題更具可讀性,但我無法在「false」一詞後面解釋您的意思。請編輯該問題以澄清您所問的內容。 –

+0

變量分配幾乎總是返回'0'。最近有一個關於這方面的問題,並有一個很好的答案。搜索'[bash] return'並按日期排序。更一般地說,當msg出現錯誤時'$?'將不爲零。嘗試'真實; echo $? ;錯誤; echo $?; grep none-such/etc/groups; echo $? ; grep abc/path/to/non-existingfile; echo $?'看看我的意思。祝你好運。 – shellter

回答

1

read返回非零值。在其他情況下它也可能返回非零值。運行help read以瞭解這些情況適用於您的bash版本。對於礦山,它說:

返回代碼是零,除非結束文件時遇到 ,讀超時,或無效的文件描述符爲 提供給-u參數。