Ste*_*zzo 17
这是一种方法:
while read line
do
my_array=("${my_array[@]}" $line)
done
echo ${my_array[@]}
Run Code Online (Sandbox Code Playgroud)
如果您只是运行它,它将继续从标准输入读取,直到您按下 Ctrl+D (EOF)。之后,您输入的行将在my_array. 有些人可能会发现此代码令人困惑。循环的主体基本上说my_array = my_array + element.
一些有趣的文档:
该高级Bash脚本编程指南有一个伟大的阵列章节
read内置的联机帮助页
来自 thegeekstuff.com 的15 个数组示例
ABc*_*ter 14
使用这个阅读它:
read -a arr
Run Code Online (Sandbox Code Playgroud)
对于打印,请使用:
for elem in ${arr[@]}
do
echo $elem
done
Run Code Online (Sandbox Code Playgroud)
并且每次都不会重新创建数组(尽管需要 bash 3.1 或更高版本):
\n\narray=()\nwhile IFS= read -r -p "Next item (end with an empty line): " line; do\n [[ $line ]] || break # break if line is empty\n array+=("$line")\ndone\n\nprintf \'%s\\n\' "Items read:"\nprintf \' \xc2\xab%s\xc2\xbb\\n\' "${array[@]}"\nRun Code Online (Sandbox Code Playgroud)\n\n有关更多信息,请参阅http://mywiki.wooledge.org/BashFAQ/001。
\n\n与往常一样,为了避免编写错误,请阅读http://mywiki.wooledge.org/BashGuide并避免使用 tldp 指南,例如高级 bash 脚本指南。
\n| 归档时间: |
|
| 查看次数: |
61556 次 |
| 最近记录: |