我需要读取传递的命令行参数 scriptname -c“30,31,32,33,34,35”
并将其转换为
myArray =(30 31 32)
答案 0 :(得分:1)
您可以使用getopts命令读取参数。 请参阅链接了解用法 example of how to use getopts in bash
获得变量后,您可以轻松创建数组 此链接可能有用。 Arrays in unix shell?
答案 1 :(得分:1)
尝试以下方法:
while getopts c: option
do
case $option in
c) data="$OPTARG"
;;
esac
done
oldIFS="$IFS"
IFS=','
myArray=($data)
IFS="$oldIFS"
echo ${myArray[@]}
c:
之后的getopts
表示我们有-c
选项,:
表示后跟参数,使用$OPTARG
检索
IFS
如果我将字段分隔符重置为逗号以创建数组。