O CentOS provavelmente tem o Bash, então, se você puder usá-lo, poderá percorrer uma fatia do array:
for x in "${@:1:$# - 1}" ; do
echo do something with "$x"
done
A% de${@:n:m}
de notação recebe o m
posicional parâmetros começando no número n
. Nós escolhemos seu número total de $#
e decrementamos por um para ignorar o último parâmetro. O offset e o comprimento são tomados como expressões aritméticas como em $((...))
, então podemos fazer a aritmética ali mesmo, como Stéphane comentou abaixo.
Os índices das matrizes geralmente começam do zero, mas no caso de $@
, começando em zero, o nome do shell de $0
é trazido e não é isso que queremos.
Note que é altamente provável que você queira citar as expressões $@
ou ${@:n:m}
para evitar que seus argumentos sejam divididos ainda mais.