天天看點

Linux Shell 中 标準輸入、标準輸出、标準錯誤輸出2>&1 含義2>&1 位置>log 2>&1 簡寫示例

文章目錄

  • 2>&1 含義
  • 2>&1 位置
  • >log 2>&1 簡寫
  • 示例
名稱 代碼 操作符 檔案描述符
标準輸入(stdin) < 或 << /dev/stdin --> /proc/self/fd/0 --> /dev/pts/0
标準輸出(stdout) 1 >, >>, 1> 或 1>> /dev/stdout --> /proc/self/fd/1 -->/dev/pts/0
标準錯誤輸出(stderr) 2 2> 或 2>> /dev/stderr --> /proc/self/fd/2 --> /dev/pts/0

2>&1 含義

  • 含義:将标準錯誤輸出,重定向到标準輸出
  • ‘>&’ 不可拆分
  • 2>&1 不可拆分

2>&1 位置

  • " > log 2>&1"
# 1 ------> 螢幕
	- 執行 >log -- 1 ------> log(1 指向 log)
	- 執行 2>&1 -- 2 ------> 1(2 指向 1,1 指向 log -- 2 指向 log)
           
  • " 2>&1 > log "
# 1 ------> 螢幕
	- 執行 2>&1 -- 2 ------> 1(2 指向 1,1 指向 "螢幕", 2 指向 "螢幕")
	- 執行 >log -- 1 ------> log(1 指向 log,2 指向 "螢幕")
           

>log 2>&1 簡寫

示例

  • " > log 2>&1"
# 輸出到 txt
[[email protected] ~]# la >1.txt 2>&1 
[[email protected] ~]# cat 1.txt 
-bash: la: command not found
           
  • " 2>&1 > log "
# 輸出到 螢幕
[[email protected] ~]# la 2>&1 >1.txt
-bash: la: command not found
           

繼續閱讀