shell中2>&1的意思
這里的1和2指的是文件描述符。
0:stdin 標(biāo)準(zhǔn)輸入
1:stdout 標(biāo)準(zhǔn)輸出
2:stderr 標(biāo)準(zhǔn)錯(cuò)誤輸出
">"則是重定向符號
“2>&1”的意思是:將標(biāo)準(zhǔn)出錯(cuò)處理的信息,發(fā)送到標(biāo)準(zhǔn)輸出中。
&跟引用地址類似意思
符號>&是一個(gè)整體,不可分開,分開后就不是上述含義了

2 標(biāo)準(zhǔn)錯(cuò)誤輸出
1 標(biāo)準(zhǔn)輸出

標(biāo)準(zhǔn)輸出可以寫成:
go run myA.go 1>twz.log
或者?go run myA.go >twz.log
錯(cuò)誤輸出可以寫成
go run myA.go 2>twz.log
標(biāo)準(zhǔn)和錯(cuò)誤一起輸出到文件:
go run myA.go >twz.log 2>&1
go run myA.go &>twz.log
標(biāo)準(zhǔn)錯(cuò)誤輸出指向 標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)輸出指向文件,標(biāo)準(zhǔn)錯(cuò)誤輸出不跟隨,因此錯(cuò)誤輸出在屏幕:
go run myA.go 2>&1 >twz.log
標(biāo)準(zhǔn)輸出重定向到twz.log, 之后標(biāo)準(zhǔn)輸出又指向了標(biāo)準(zhǔn)錯(cuò)誤輸出,導(dǎo)致前面的失效了,直接輸出到了屏幕:
go run myA.go 1>twz.log 1>&2
標(biāo)簽: