Linux
如何查看來自哪個文件描述符輸出?
如何查看來自哪個文件描述符輸出?
$迴聲你好 你好 $迴聲你好1>&2 你好
都去 /dev/pts/0
但有 3 個文件描述符 0,1,2
普通輸出發生在文件描述符 1(標準輸出)上。診斷輸出以及使用者互動(提示等)發生在文件描述符 2(標準錯誤)上,輸入進入程序的文件描述符 0(標準輸入)。
標準輸出/錯誤的輸出範例:
echo 'This goes to stdout' echo 'This goes to stderr' >&2
在上述兩種情況下,
echo
寫入標準輸出,但在第二個命令中,命令的標準輸出被重定向到標準錯誤。過濾(刪除)一個或另一個(或兩者)輸出通道的範例:
{ echo 'This goes to stdout' echo 'This goes to stderr' >&2 } >/dev/null # stderr will still be let through { echo 'This goes to stdout' echo 'This goes to stderr' >&2 } 2>/dev/null # stdout will still be let through { echo 'This goes to stdout' echo 'This goes to stderr' >&2 } >/dev/null 2>&1 # neither stdout nor stderr will be let through
輸出流連接到目前終端(
/dev/pts/0
在您的情況下),除非如上所示重定向到其他地方。