使用扩展数组内置部分

时间:2017-05-23 14:15:12

标签: bash

我有一个这样的脚本:

foo=0
bar=0
while [[ $# -gt 0 ]]; do
  key=$1
  case $key in 
    --foo)
    foo="$2"
    shift
    ;;
    --bar)
    bar="$2"
    shift
    ;;
  esac
  shift
done
echo $foo
echo $bar

我希望将args收集为数组,然后一起传递。如果我这样做,它可以工作:

args=(--foo 1 --bar 2)
script.sh ${args[@]}

但是,如果我将棋子构建成碎片,它就不起作用了:

args=(--foo 1)
args+=(--bar 2)
script.sh ${args[@]}

结果在消息"无效的输入参数"

我也尝试过:

 args=( "${args[@]}" --bar 2)

但得到了同样的结果。想法?

0 个答案:

没有答案