处理每个第二个和更多参数

Processing each of the second and further arguments

我有一个 bash 脚本接受另外 1 个参数。我想分别处理第二个和更多参数中的每一个。这是我的尝试:

SECOND_PLUS_ARGS="${@:2}"

for arg in "${SECOND_PLUS_ARGS[@]}"; do
    echo "arg = $arg"
done

运行 它作为 ./script.sh 1 2 3 4 打印以下输出:

$ ./script.sh 1 2 3 4                                                                                                                                                                        
arg = 2 3 4      

我预计:

$ ./script.sh 1 2 3 4                                                                                                                                                                        
arg = 2
arg = 3
arg = 4

有没有办法修复脚本?

SECOND_PLUS_ARGS 创建为标量然后将其用作数组没有多大意义。将其创建为数组:

SECOND_PLUS_ARGS=("${@:2}")