我正在尝试为我的 bash 脚本获取输入参数。testbash.sh 4 1 2 4 5 Science ap * 我想将这些参数作为一个数组获取,我使用 $@ 将所有参数获取到一个数组中。现在基于第一个参数,我需要对其余参数进行子集化。这里第一个数字是 4,所以从第二个参数到第五个参数应该保存为一个数组,如 [1 2 4 5] 和另一个数组中的其余参数。
我试过这个
array=( $@ )
len=${#array[@]}
args=${array[@]:0:$len-${array[1]}}
echo $args
我尝试这样做以获取第一部分,但是当我运行此“testbash.sh 4 1 2 4 5 Science ap *”时,表达式中出现错误语法错误(错误标记为“:-4”)