You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在`| & tee`命令用法中,AND运算符‘&’的具体作用是什么?

关于|& tee中|&的作用

首先得明确:|&是bash(以及zsh等主流shell)里的简写语法,它等价于2>&1 |——也就是先把标准错误(stderr,文件描述符2)重定向到标准输出(stdout,文件描述符1),再通过管道把合并后的输出传给后面的命令。

拿你给的例子du -h |& tee /tmp/diskUsage来说:

  • 如果只用普通管道|:du -h | tee /tmp/diskUsage只会把du -h的正常输出(磁盘用量统计)传给tee,这样只有这些内容会被写入/tmp/diskUsage,同时打印到终端;而du执行时的错误信息(比如访问某些无权限目录的报错)会直接输出到终端,但不会被tee写入文件。
  • 用|&之后:du -h的标准输出+标准错误会被合并在一起,全部通过管道传给tee,这样不管是正常统计信息还是错误提示,都会被tee写入/tmp/diskUsage,同时也会在终端显示出来。

你觉得“&之后没有有效内容”是把|&拆成了|和&来看,但实际上这是shell的一个组合语法,不是两个独立符号的拼接,它就是专门用来简化“合并stderr到stdout再管道”这个常用操作的。

内容的提问来源于stack exchange,提问作者PkDrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:27:38