欢迎光临散文网 会员登陆 & 注册

shell中2>&1的意思

2023-05-12 10:30 作者:误入歧途的先森  | 我要投稿

这里的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


shell中2>&1的意思的评论 (共 条)

分享到微博请遵守国家法律