数组 – 如何将数组参数传递给Bash脚本

前端之家收集整理的这篇文章主要介绍了数组 – 如何将数组参数传递给Bash脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
令我惊讶的是,我在1小时之后找不到答案.
我想像这样传递一个数组到我的脚本:
test.sh argument1 array argument2

我不想把它放在另一个bash脚本中,如下所示:

array=(a b c)
for i in "${array[@]}"
do
  test.sh argument1 $i argument2
done
Bash数组不是“一流价值” – 你不能像一个“事物”一样传递他们.

假设test.sh是一个bash脚本,我会这样做

#!/bin/bash
arg1=$1; shift
array=( "$@" )
last_idx=$(( ${#array[@]} - 1 ))
arg2=${array[$last_idx]}
unset array[$last_idx]

echo "arg1=$arg1"
echo "arg2=$arg2"
echo "array contains:"
printf "%s\n" "${array[@]}"

调用

test.sh argument1 "${array[@]}" argument2
原文链接:https://www.f2er.com/bash/386656.html

猜你在找的Bash相关文章