目标
限制输出dhclient
。
代码
dhclient eth0|sed 's/answers//'
预期行为
RTNETLINK : Operation not permitted
得到
RTNETLINK answers: Operation not permitted
管道 ifconfig 工作
ifconfig eth| sed 's/eth//'
->[cut the search]:flags=41...
环境
sed (GNU sed) 4.7 Packaged by Debian
该
dhclient
命令需要以 root 身份运行。以普通用户身份运行它时,您会收到一条错误消息错误消息通常打印到标准错误 (stderr),而管道 (
|
) 将仅重定向标准输出 (stdout
)。这就是您的 sed 命令不起作用的原因:它实际上根本没有得到任何输入,您看到的是第一个命令的标准错误。要重定向和解析标准错误,可以使用
2>&1
(重定向输出流 2,标准错误,到输出流 1,标准输出):有关这两个流的更多详细信息以及每个流的重定向方式,请参阅https://askubuntu.com/a/625230/85695。