1
是否ls -l /path/to/dir/*.extension 1>&- 2>&-
關閉stdout和stderr(1>& - 2>& - )修改退出狀態?
真的給退出狀態爲2
即使存在與.extension
文件還是我做一些錯了嗎?
我在做什麼1>&- 2>&-
我正在關閉命令的stdout和stderr,它不應該對命令的退出狀態做任何事情!
但作爲一個希望以下總是工作很細:
ls -l /path/to/dir/*.extension &>/dev/null
退出狀態是0
預期。
只是尋找這種行爲的解釋。
#UNDERSTANDING
在由西蒙·裏希特給出答案的基礎: 如果我們這樣做
[email protected]:exp$ echo "Life" 1>&-
-bash: echo: write error: Bad file descriptor
它拋出錯誤,因爲回聲無法寫入stdout和 如果我們這樣做
[email protected]:exp$ echo "Life" 1>&- 2>&-
我們甚至不會知道錯誤,直到我們檢查的時間$?
1>/dev/null 2>&1 – MLSC