shell中2>&1的意思
这里的1和2指的是文件描述符。
0:stdin 标准输入
1:stdout 标准输出
2:stderr 标准错误输出
">"则是重定向符号
“2>&1”的意思是:将标准出错处理的信息,发送到标准输出中。
&跟引用地址类似意思
符号>&是一个整体,不可分开,分开后就不是上述含义了

2 标准错误输出
1 标准输出

标准输出可以写成:
go run myA.go 1>twz.log
或者 go run myA.go >twz.log
错误输出可以写成
go run myA.go 2>twz.log
标准和错误一起输出到文件:
go run myA.go >twz.log 2>&1
go run myA.go &>twz.log
标准错误输出指向 标准输出,标准输出指向文件,标准错误输出不跟随,因此错误输出在屏幕:
go run myA.go 2>&1 >twz.log
标准输出重定向到twz.log, 之后标准输出又指向了标准错误输出,导致前面的失效了,直接输出到了屏幕:
go run myA.go 1>twz.log 1>&2