arrays - Bash 我不能打印数组的所有元素,只能打印最后一个
问题描述
我无法将 for in 的所有值分配到一个数组中,所以我只能打印最后一个
###previouse code
for item2 in "${!TUR[@]}"; do
ARRAY="${item2}"
done
for item in "${ARRAY[@]}"; do
printf "$ARRAY \n";
done
如何将所有元素成功分配给 ARRAY 变量并打印出所有元素?
解决方案
您的第一个问题是将元素添加到数组中,您可以执行类似的操作array+=("$item_to_add")
所以,你可能有这样的事情:
tur=( A B C D )
for item in "${tur[@]}"; do
arr+=("$item")
done
for e in "${arr[@]}"; do
printf "%s\n" "$e";
done
顺便说一句:最好避免使用 Bash 变量名INCAPS
,因为 Bash 将这些变量名用于内部使用。约定是使用小写的用户变量名。
顺便说一句:第二个循环在功能上与:
$ printf "%s\n" "${arr[@]}"
两个循环都可以替换为:
arr=("${tur[@]}") # copy the array
printf "%s\n" "${arr[@]}" # print the new array
推荐阅读
- c++ - 可迭代容器的 C++20 概念是什么?
- electron - ipcMain 需要帮助
- json - 如何检索嵌套地图数据“json.unmarshal()”作为空接口
- python - 使用 selenium 和 python 抓取网站时 Webdriver chrome 崩溃:未知错误:DevToolsActivePort 文件不存在
- mongodb-query - 可以对多个条目进行分组并为这些值形成新对象吗?
- uart - 使用 micropython 初始化 UART 总线,我收到错误“缺少 1 需要位置参数”
- java - 如何在 100 多个现有类中创建新的类变量?
- java - 将 Eclipse 动态 Web 项目作为纯 maven 项目发布(可能吗?)
- javascript - 元素为空 - 我想我需要等待它被加载?
- ios -
UITextView 用 HTML标记字符串替换下一行符号