shell - shell 将 awk 拆分为数组
问题描述
您好,我尝试将 awk 拆分为一个数组。我有这个脚本:
#!/bin/bash
vms_disks=( "${vms_disks[@]}" "$(virsh domblklist $vm --details | awk '/disk/{print $4}')" )
for disk in "${vms_disks[@]}"; do
echo "upload $disk"
done
该脚本应该"$vm"
在一个阵列中获取虚拟机的驱动器"${vms_disks[@]}"
。"${vms_disks[@]}"
但是这个脚本只用一个键填充数组。echo 的输出应该是:
upload disk1.raw
upload disk2.raw
...
(为每个磁盘上传)
但我得到:
upload disk1.raw disk2.raw ...
(所有磁盘一起只上传一个)
如何从中获取数组键"$(virsh domblklist $vm --details | awk '/disk/{print $4}')"
怎么做?
解决方案
Could you please try following, haven't tested it since lack of samples.
mapfile -t myarr < <(virsh domblklist $vm --details | awk '/disk/{print $4}')
推荐阅读
- php - 在 WooCommerce 中获取通过信用卡支付的订单
- binary-search-tree - 推断插入 BST 的顺序
- pandas - 获取系列中小于或等于的条目数
- javascript - 在商店Vue js中更新后视图没有更新
- sas - SAS vlookup - 查看所有数据不仅加入
- php - 如果订单商品属于特定产品类别,则结帐重定向后的 Woocommerce
- java - 未使用 startService 调用 onStartCommand
- git - github历史生成时间太长
- python - 使用python从excel表格中提取颜色
- sql-server - TSQL-JOIN:在联接中将一个表中不存在的值显示为零