bash - 如何将 cat 命令的多行输出存储在不同的变量中?
问题描述
我阅读了以下有关将多行输出保存到变量的帖子,将 命令的多行输出分配给变量
我无法将每一行保存到不同的变量中,我尝试使用数组,但不知何故数组的长度始终为零
my_array=()
cat check_status | while read line || [[ -n $line ]] ;
do
echo $line
my_array+=( $line)
done
echo ${#my_array[@]}
echo ${my_array[0]}
echo ${my_array[1]}
数组长度始终为0,数组内容始终为空
我的 cat 输出是
alpha
beta
我想将每一行保存到不同的变量中。我是 shell 脚本的新手,所以不确定使用数组是否是这里最好的解决方案。
解决方案
推荐阅读
- sql - 有效地在 bigquery 中创建矩阵
- java - 在 Java 中保存和加载数据
- mongodb - 有没有办法将多个集合分配给 gfs?
- c - 如何在 LEX/FLEX 中匹配模式时只选择前 N 个字符并丢弃剩余的字符
- c - 执行顺序:变量声明、赋值语句、表达式
- html - 同级元素的 CSS 选择器
- r - 如何在 R 中使用 Excel 文件进行时间序列分析?
- arduino - 从 ESP01 控制 2x 继电器模块 (STM8S103)
- postgresql - 如何使用 pgRouting 计算 Origin - Destination 对之间的最短路径?
- ngrok - 如何为 SQL Server 访问配置 ngrok