myfunc ()
{
if [${*: -1} == "some argument"]
then
command anotherCommand "$@"
elif [ ... ]
...
fi
}
如何更改"$@"
,以便将所有参数传递给anotherCommand
最后一个除外?
您可以将脚本更改为:
myfunc ()
{
if [${*: -1} == "some argument"]
then
command anotherCommand "${@:1:$#-1}"
elif [ ... ]
...
fi
}
并且您实际上将弹出最后一个参数。
示例:
#!/bin/bash
myfunc ()
{
echo "${@:1:$#-1}"
}
myfunc apple orange banana watermelon
打印
$ ./some.sh
apple orange banana