天天看點

2>&1 &:背景運作将日志中的标準錯誤2重定向到标準輸出1中

bash中 2>&1 & 的解釋

*/2 * * * *  cd workspace; python run.py  > log/run.py.log 2>&1      

1、bash中0,1,2三個數字分别代表:

  • 0 STDIN_FILENO 标準輸入(一般是鍵盤)
  • 1 STDOUT_FILENO 标準輸出(一般是使用者終端控制台)
  • 2 STDERR_FILENO 标準錯誤(出錯資訊輸出)

2、輸入輸出重定向,

  • 重定向輸入:在指令中指定具體的輸入來源,譬如 cat < test.c
  • 輸出重定向:指定具體的輸出目标以替換預設的标準輸出,譬如ls > 1.txt

3、> 和 >> 的差別:

  • > 用于建立
  • >> 用于追加

4、2>&1 就是用來将标準錯誤2重定向到标準輸出1中的

  • 1前面的&就是為了讓bash将1解釋成标準輸出而不是檔案1
  • 最後一個&,則是讓bash在背景執行

參考