Liberate will output messages into stdout and stderr. Be sure to capture both into a file for later
review.
Batch Mode (This
is the recommended mode)
Example:
Unix>
${ALTOSHOME}/bin/liberate char.tcl |&
tee char.logautoCharDrivers 1>>log/autoCharDrivers.zlog 2>&1
2 為Console標準錯誤
1 為Console標準輸出
此為 Unix 的標準 , Windows 也有遵循 POSIX 可以通用.
所以呢 !!!!
如果你執行
perl xxx.pl 2>&1
就是把 標準錯誤 重新導向到 標準輸出 , 讓你可以一起看到這兩者輸出 .
通常呢 !!!!
如果你執行
perl xxx.pl 2>&1 > debug.log
執行完畢後 , 你可以從 debug.log 檔案中看到所有的 標準錯誤 標準輸出
perl xxx.pl 1>out.log 2>err.log
則 out.log 為標準輸出 , err.log 為標準錯誤 .
">" : 一般資訊到log 錯誤資訊留在螢幕
">&" : stdout 及 stderr 重導向到檔案(command >& file)
UNIX 系統中的垃圾桶,專門供你處理不必要輸出訊息 :“/dev/null”
例:ps axu | grep cron | grep -v grep >& /dev/null
傳送指令
- 標準輸入(stdin) :代碼為 0 ,使用
< 或 <<
; - 標準輸出(stdout):代碼為 1 ,使用
> 或 >>
; - 標準錯誤輸出(stderr):代碼為 2 ,使用
2> 或 2>>
;
下達
2>&1
:標準輸出與標準錯誤輸出同時寫入同一個檔案 [csie@linux ~]$ find /home -name testing > list 2> list <==目前系統這寫法也可以 ## 習題:請問上面命令的執行結果為何? [csie@linux ~]$ find /home -name testing > list 2>&1 <==正確寫法
沒有留言:
張貼留言