[LPIC-1]GNU and Unix Commands 34


Which of the following shell redirections will write standard output and standard error output to a file named filename?

A.

2>&1 >filename

B.

>filename 2>&1

C.

1>&2>filename

D.

>>filename

E.

1&2>filename

題解

選項A,乍看之下很像是將錯誤輸出串流導向到標準輸出串流,再把標準輸出串流導向到檔案串流,所以錯誤輸出串流會流向到檔案串流。其實並不是這樣。指令的串流導向有點像是指派運算子「=」(assign),如這個選項是將原先接到錯誤輸出串流的接口2改至接口1接到的標準輸出串流,再把原先接到標準輸出串流的接口1改至檔案串流。

寫成程式就像是:

選項B,將接口1改至檔案串流,再將接口2改至接口1接到的檔案串流,所以接口2也是接到檔案串流。

寫成程式就像是:

選項C,將接口1改至接口2接到的錯誤輸出串流,再將接口1改至檔案串流。

寫成程式就像是:

選項D,將輸出串流導向並添加到檔案。

選項E,錯誤的用法。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章