[Linux] 標準輸入、標準輸出和標準錯誤輸出

名稱 類型 描敘符號 操作
標準輸入-stdin Standard input 0 <, <<
標準輸出-stdout Standard output 1 >, >>
標準錯誤輸入-stderr Standard error ouput 2 2>, 2>>

通常我們可以在從螢幕上看到這些輸入和輸出,但是某些情況下會希望這些資料可以導入到一個檔案中,以便日後的查詢和檢查,尤其是透過crontab執行的程式,下面是利用shell和python程式的例子,

重新導向的符號>在指令中的哪一個位置都沒有太大的關係,不過要注意重新導向的順序一定是從左到右,例如:

重新導向的範本如下:

不管是python或是shell基本上都是一樣的,另外下面的情況不推薦使用

特殊情況

比較一下python3 test.py 2>&1 > test.logpython3 test.py > test.log 2>&1的區別:

Reference

Linux 输入输出重定向 && 定时任务crontab

crontab 中的命令需要重定向输出

Linux crontab 輸出重定向不生效問題解決

echo >&2 “some text” what does it mean in shell scripting

What are the shell’s control and redirection operators?

Bash Reference Manual 3.6 Redirections

what is the difference between >&2 and &>2 [duplicate]

Add a Comment