2015-10-06 28 views
0

在我努力理解代碼時,在ksh中有很多問題。這裏是一個我無法找到答案瞭解Korn shell數字語句

function prn_msg 
{ 
    print "command usage: " 
    print " $COMMAND -i<id> -d<date>" 
    exit $BADOPTIONS 
} 1>&2 

我瞭解,它打印的文本到stderr輸出,並退出與BADOPTIONS返回代碼執行腳本。 但不明白1>&2做什麼

+1

請參閱http://stackoverflow.com/questions/818255/in-the-shell-what-does-21-mean來獲得Unix文件句柄1和2的解釋。 –

+0

總是想知道爲什麼他們讓它很難理解:) – xGen

回答

1

在評論OP要求一個簡單的答案。 @Bernard給出的鏈接告訴更多,兩個簡單的答案是:

輸出到屏幕被分爲(1)正常輸出​​和(2)錯誤輸出。 1> & 2是將正常輸出重新路由到錯誤輸出的方法。

它是一種方法,使該函數的輸出被寫入到stderr,其可以隨後過濾。

注意:我從來沒有使用1> & 2,但使用2> & 1很多。這樣你可以重定向到一個文件或/ dev/null。