[quote=引用 1 楼 lishanchao 的回复:] 1>> /dev/null 2>&1 对于/dev/null设备一般不存在附加的说法,虽然这么写没错。一般写成: 1>/dev/null 2>&1 1>/dev/null 含义是把标准输出重定向到/dev/null,其实就是屏蔽标准输出。 2>&1 是把标准错误重定向到标准输出,也就是fprintf(stderr, "error msg");的信息会被打印到stdout上。 结合起来就是屏蔽所有输出信息。 至于为什么采用>,>>以及>&这些符号,我也不清楚,前两者还算直观,>&这个我也是理解不能。 可以查看sh实现源码,通过代码了解这些符号的实现,希望注释中能有一些蛛丝马迹描述为什么采用这个符号。
1>> /dev/null 2>&1 对于/dev/null设备一般不存在附加的说法,虽然这么写没错。一般写成: 1>/dev/null 2>&1 1>/dev/null 含义是把标准输出重定向到/dev/null,其实就是屏蔽标准输出。 2>&1 是把标准错误重定向到标准输出,也就是fprintf(stderr, "error msg");的信息会被打印到stdout上。 结合起来就是屏蔽所有输出信息。 至于为什么采用>,>>以及>&这些符号,我也不清楚,前两者还算直观,>&这个我也是理解不能。 可以查看sh实现源码,通过代码了解这些符号的实现,希望注释中能有一些蛛丝马迹描述为什么采用这个符号。
19,612
社区成员
74,603
社区内容
加载中
试试用AI创作助手写篇文章吧