我在将值从命令行分配给数组时遇到了一个小问题。例如,如果我键入$./test.sh aa bb cc
我希望将值分配给数组,例如
test[0]=aa
test[1]=bb
test[2]=cc
它应该是无限的,它必须根据用户输入创建数组。
这是我的代码
谢谢
#!/usr/bin/bash
count2=1
declare -a mvne $count2
while [ $# -gt $count2 ]
do
mvne[$count2]=$"[$count2]" <---here is the problem, how do i assign the command line parameter to the array
echo ${mvne[$count2]}
count2=`expr $count2 + 1`
done
位置参数已经类似于数组。 您可以将它们分配给另一个数组而无需循环:
#!/bin/bash
count2=0
declare -a mvne
mvne=( "$@" )
while [ $# -gt $count2 ]
do
echo $count2: ${mvne[$count2]}
((count2++))
done
在命令行上运行时:
$ bash test.sh aa bb cc
0: aa
1: bb
2: cc