我在UNIX系统下编写一个脚本,它接收一组参数,参数数量不固定。
参数的数量取决于第一个和第二个参数的值( $ 1,$ 2 )
在这个shell脚本中,我编写了一个函数。如何将其余参数传递给此函数?
答案 0 :(得分:1)
有两种方法可以做这种事情。
您将看到的最常见的方法是在处理完毕后处理的参数时shift
。{/ p>
#!/bin/sh
arg1=$1
arg2=$2
shift 2
myfunction "$@"
不太常见(但非常有用且值得了解)的替代方法是使用数组范围扩展(在the manual中称为Substring Expansion
作为其字符串用法)来仅选择所需的数组/位置参数。
#!/bin/sh
arg1=$1
arg2=$2
myfunction "${@:3}"