处理每个第二个和更多参数
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}")
我有一个 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}")