2011-12-27 40 views
1

有人可以向我解釋它是什麼意思?新的Linux程序員

LOG=/etc/security/aixpert/log/aixpert.log 
exec 1>>$LOG 
exec 2>&1 

我知道我們正在登錄一個文件......但是它究竟做了什麼?尤其是12>&和一般

+3

他們是重定向操作符。快速谷歌搜索應該教你比這裏可以給你的任何答案。 – Polynomial 2011-12-27 11:50:58

+0

我做到了,但我找不到'1'和'2',所以感到困惑......我不知道他們代表什麼。現在學到:) – footy 2011-12-27 12:21:20

回答

7

exec操縱文件描述符。特別是,您重定向文件描述符1(相當於C中的stdout)到磁盤上的指定文件,並重定向文件描述符2(stderr)文件描述符1

所以一切最終得到寫入日誌文件而不是打印在控制檯上。

+0

但爲什麼''&'insted的'>>'? – footy 2011-12-27 12:22:32

+0

@footy:'>&'指定另一個文件描述符; '>>'表示一個*文件*。 – 2011-12-27 13:06:18

2
  • 1 >>重定向一般輸出到無論是在$ LOG,在這種情況下一個日誌文件(2個箭頭meen「追加」)
  • 2>重定向標準錯誤,一般錯誤消息,在這種情況下,以流1(參見上面)
  • exec使所有這些適用於當前shell,因此所有以下命令都會受到影響。