如何在shell sript中读取命令行参数

时间:2015-06-11 07:07:37

标签: shell

我需要读取传递的命令行参数  scriptname -c“30,31,32,33,34,35”

并将其转换为

myArray =(30 31 32)

2 个答案:

答案 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如果我将字段分隔符重置为逗号以创建数组。