Shell 管道线 和 过滤器

本文介绍了Shell管道线的基本概念,它允许一序列命令通过'管道'将一个程序的标准输出传递给另一个程序的标准输入。文章强调了在编写管道线时添加空格以提高可读性的习惯,并解释了如何组合标准输出和标准错误。过滤器是管道线中的关键元素,它们从标准输入读取并输出文本数据。特别提到了`tee`命令,它能同时将数据输出到标准输出和一个或多个文件,实现数据的多分支I/O。最后,文章提醒读者,可通过发送^C信号来终止运行的管道线。
摘要由CSDN通过智能技术生成

1):基本概念
原始数据从一端进入,然后接着一个程序对数据进行处理,直到另一端,数据以结果形式出现。shell 允许创建一序列命令,命令(也可以是脚本)用’|’ 分隔开来,代表一个程序的标准输出(不包含有标准错误)可以 自动地发送给 下一个程序的标准输入。
阅读方式为: 从左到右的方式 读取。
两个程序之间的连接’|’ 就是 “管道” , “命令序列”称为 管道线

编写习惯:
当编写 管道线的时候, ‘|’ 元字符的两边其实没必要加上空格,
但是, 应当加上空格。
可以使得键入的错误发生几率最小,并使得命令可阅读性增强。


2):组合标准错误。
默认情况下,只是将标准输出发送给下一个程序的标准输入。
还可以将标准输出和标准错误组合一起当做另一个程序的标准输入。

# bourne shell家族:
command1 2>&1 | command2
ls -l file1(不存在文件) file2 2>&1 | sort

–注意一个现象:
标准错误会比标准输出 先前打印。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值