我正在写一个脚本,它需要带'〜'分隔符的参数,并且在分割字符串之后我想将值插入到数组中。我在这个问题上有不少帖子,我几乎在那里,但有一个失败的情况。这里是细节。当delim将字符串分割成数组时,不包括最后一个空字符串
myScript.sh
#!/bin/bash
tmpIFS=$IFS
IFS="~"
array=($1)
IFS=$tmpIFS
echo "${#array[@]}"
处决
$ ./myScript.sh "A~B"
$ 2
这就是我想要的。但是当我做
$ ./myScript.sh "A~"
$ 1
我期待有一个大小为2的数组再次和最后一个单元格是一个空字符串。
我该如何做到这一点?
我试图用这个脚本来实现一般的做法是使用curl通过传递10个查询参数来执行一个http请求。我没有给我的脚本提供10个参数,而是想要将数据作为一个参数按指定顺序由一个字符分隔。
感谢
也许如果你包含更多关于你最终想达到什么的信息,我们可以给你提供一些替代方案。 – 2015-01-21 11:15:34
@TomFenech更新了问题。 – NikosDim 2015-01-21 11:34:54
将10个参数添加到您的脚本并拥有一个参数但自己将其分开的情况有什么区别?你只需要执行'./myScript.sh A B'并通过'$ 1'和'$ 2'访问你的参数。如果你做了'./myScript.sh A''',甚至只是'./myScript.sh A',那么'$ 2'就是空的。 – 2015-01-21 11:51:40