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

如何向Bash脚本传递2个固定参数及剩余n个可变参数并将其存入数组

Bash脚本:提取固定参数并将剩余参数存入数组

这事儿在Bash里其实挺简单的,用参数扩展语法就能轻松搞定。直接给你写好可用的脚本示例,再给你拆解关键部分:

#!/bin/bash

# 先把前两个固定参数取出来
fixed_arg1="$1"
fixed_arg2="$2"

# 核心操作:把从第3个开始的所有参数存入数组
remaining_args=("${@:3}")

# 下面是验证用的代码,你可以根据需求删掉
echo "第一个固定参数: $fixed_arg1"
echo "第二个固定参数: $fixed_arg2"
echo "剩余参数数组的元素个数: ${#remaining_args[@]}"
echo "剩余参数明细:"
for arg in "${remaining_args[@]}"; do
    echo "  - $arg"
done

关键语法解释

  • "${@:3}":这里的@代表脚本收到的所有位置参数,:3表示从第3个参数开始(也就是跳过前两个固定参数),一直取到最后一个参数。用双引号包裹是为了保留带空格的参数——比如如果某个剩余参数是"hello world",它会被当成数组的一个元素,而不是被拆成两个。
  • ${#remaining_args[@]}:用来获取数组的长度,也就是剩余参数的个数。

使用示例

比如你执行:

sh myScript.sh fixed1 fixed2 "arg with space" var1 var2 var3

脚本会输出:

第一个固定参数: fixed1
第二个固定参数: fixed2
剩余参数数组的元素个数: 4
剩余参数明细:
  - arg with space
  - var1
  - var2
  - var3

完全符合你说的需求,不管剩余参数是1个还是15个,这个写法都能完美处理~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 08:52:35