为未知数量的参数创建变量?

时间:2010-05-22 02:01:41

标签: bash

使用rsync脚本,下面的部分是for循环。我想要实现的是在3之后为每个争论分配一个变量。如果我需要为此创建另一个循环,那就困惑了:

#1: name
  name=$1

  #2: ip 
  ip=$2

  #3: user
  user=$3

  #4+: folder exlusion
  #any lines higher than 3 will be created as exlcude folders
  ex[ARG_NUMBER]=

2 个答案:

答案 0 :(得分:1)

制作一个这样的数组:

ex=("${@:4}")

答案 1 :(得分:0)

可能有一种更清洁的方式,但这样的事情应该有效:

function foo() { 
  name=$1
  ip=$2
  user=$3
  rest=${@:4}
  echo "User " $user
  echo "Rest " $rest
}