linux: 学习Shell指令的输出重定向与错误处理机制
发布时间
阅读量:
阅读量
在类Unix系统中,I/O流的转向操作属于常规处理方式,其核心功能在于调整命令执行结果的传输路径。Shell环境支持以下三种主要类型的I/O流:
stdout(标准输出)- 对应的文件描述符编号为1stderr(标准错误)- 对应的文件描述符编号为2stdin(标准输入)- 对应的文件描述符编号为0

如图所示,两个 nc 命令的执行过程存在差异,主要体现在其重定向操作的设置上。
分析第一个命令:
nc -zv 10.0.0.1 443 2>&1 >> /dev/null
在该命令中,2>&1 的作用是将标准错误流导向当前标准输出的位置,然而这一操作发生在 >> /dev/null 之前,因此此时的标准输出尚未被转存至 /dev/null。由此可知,标准错误与标准输出的内容均会被显示在终端界面上。
分析第二个命令:
nc -zv 10.0.0.1 443 > /dev/null 2>&1
全部评论 (0)
还没有任何评论哟~
