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

Bash脚本:将文件路径数组转为工具的多个参数

Bash脚本中传递文件路径数组给mergecap的正确方法

不用折腾xargs,Bash本身就支持直接将数组元素作为独立参数传递,完美适配mergecap的需求:

  • 先定义你的文件路径数组:
file_array=("/path/1.pcap" "/path/2.pcap" "/path/带空格的路径.pcap")
  • 直接用数组展开语法执行mergecap:
mergecap -w /path/out.pcap "${file_array[@]}"

为什么这能行?

"${file_array[@]}" 是Bash里的标准数组展开写法,双引号包裹的情况下,数组里的每个元素都会被当成独立的命令行参数,哪怕路径里包含空格、特殊字符也能正确识别,完全符合mergecap需要多个文件参数的要求。

之前用xargs踩坑的原因

xargs默认会把输入按空白分割成参数,但如果你把数组转成单字符串传给它,所有路径会被拼成一个整体,mergecap自然只会把它当成单个文件参数处理,这完全是绕远路了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:33:05