exec 3>&1 # Save current "value" of stdout.
ls -l 2>&1 >&3 3>&- | grep bad 3>&- # Close fd 3 for 'grep' (but not 'ls').
# ^^^^ ^^^^
exec 3>&- # Now close it for the remainder of the script.
我得到fd 3正在關閉的第3行。幫我理解這個簡單的io重定向在bash中從ABS指南
疑問:第1行將fd 3重定向到標準輸出,全局...對嗎?
問題:第二行發生了什麼?如果可能,請提供詳細的解釋。
雖然人們可以在* sh中使用額外的描述符來完成複雜的技巧,但是對於下一次閱讀它的可憐的schlub(例如你)是否應該這樣做並不確定。 – msw 2010-11-21 22:49:08
@msw我看着你的個人資料,你似乎對Linux/UNIX shell等有很好的瞭解。我很尊重你,但我不讚賞你稱我爲schlub。如果你不能幫助,請保持你的俏皮話。 – abc 2010-11-22 05:22:17
我也是窮人schlub誰經常不得不重新閱讀我自己的代碼在以後的日期。對不起,你親自發表我的評論,因爲它是通用的,有點自我貶低,並且肯定不會**有意侮辱。我的大部分資料都是虛構的,除了我的時間太長了。 – msw 2010-11-22 05:52:54