shell 代码如下
#!/bin/bash
while read line
do
string=$line
str=${string//|/ }
echo str 长度: ${#str[@]}
for each in ${str[*]}
do
echo $each
done
echo ------赋值给 arr-----
arr=($str)
echo arr 长度:${#arr[@]}
for each in ${arr[*]}
do
echo $each
done
done
执行
sh split.sh <<< '1|2|3|4|5|6|7'
结果
str 长度: 1
1
2
3
4
5
6
7
------赋值给 arr-----
arr 长度:7
1
2
3
4
5
6
7
shell 写的不多,很奇怪为啥 str 长度是 1 呢?明明有 7 个元素啊😵
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.