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

Bash中如何将列表文件逐行内容作为参数执行命令

实现方法

方案1:通用while循环(适配所有合法行内容,推荐)

该方案兼容带空格、特殊字符、末尾无换行的参数文件,是最稳妥的实现方式:

# 请将下方的「参数文件路径」替换为你实际的文件路径,将do替换为实际要执行的命令
while IFS= read -r line || [[ -n "${line}" ]]; do
    do "${line}"
done < 参数文件路径

参数说明:

  • IFS= 关闭行首尾空白字符自动裁剪,保留原始行内容
  • -r 关闭反斜杠转义逻辑,避免行内的反斜杠被自动处理
  • || [[ -n "${line}" ]] 兼容文件最后一行没有换行符的场景,避免最后一行参数被漏处理
  • 用双引号包裹${line}是为了避免行内容存在空格时,被拆分为多个参数传入命令

方案2:xargs快速实现(仅适用于参数不含特殊字符的简单场景)

如果你的参数都是纯文本、无空格和特殊转义字符,可以用更简洁的xargs实现:

# 请将下方的「参数文件路径」替换为你实际的文件路径,将do替换为实际要执行的命令
xargs -I {} do {} < 参数文件路径

前置校验建议

在执行实际操作前,你可以先将命令替换为echo打印预期执行内容,确认无误后再运行真实命令,避免误操作:

while IFS= read -r line || [[ -n "${line}" ]]; do
    echo "do ${line}"
done < 参数文件路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:24:04