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

Bash脚本中tar+lz4命令输出重定向至/dev/null失效的解决方法

问题解决:将tar归档的verbose输出重定向到/dev/null

你的问题出在tar的v参数产生的输出是发送到标准错误(stderr),而你原命令里的> /dev/null只重定向了标准输出(stdout),所以那些路径信息依然会打印出来。以下是两种正确实现方式:

方式一:仅重定向tar的verbose输出

只把tar的标准错误扔到/dev/null,不影响后续命令的输出(如果lz4有需要保留的输出的话):

tar cvf - -C / "$SOURCE_DIR" 2>/dev/null | lz4 --best - "$ARCHIVE"

方式二:重定向整个管道的所有输出

如果不需要保留任何命令的输出,直接把所有标准输出和标准错误都重定向到/dev/null:

tar cvf - -C / "$SOURCE_DIR" | lz4 --best - "$ARCHIVE" >/dev/null 2>&1
# 或者更简洁的写法
tar cvf - -C / "$SOURCE_DIR" | lz4 --best - "$ARCHIVE" &>/dev/null

额外提醒

记得给变量$SOURCE_DIR和$ARCHIVE加上双引号,避免当路径包含空格、特殊字符时出现命令解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:57:09