将 fdisk 输出捕获到数组中并打印出来

将 fdisk 输出捕获到数组中并打印出来

我想要获取系统上的分区列表...

我使用这个命令

sudo fdisk -l | grep '^/dev' | awk '{print $1}'

输出为

/dev/sda1

/dev/sda2

我需要将此结果作为数组索引 0 中的第一个结果,并将下一个结果作为数组索引 1,并且我需要能够在我想要的任何位置打印它。

同样,我希望为我的网络组获取更多值...我需要这个数组在循环中输出,以便它自动获取每个设备名称及其分区等值。

答案1

假设你的 shell 是 bash,使用mapfile命令与输入流程替代

mapfile -t disks < <(sudo fdisk -l | awk '/^\/dev/ {print $1}')

我从管道中删除了不必要的 grep,因为 awk 可以做到这一点。

您可以使用以下方法检查数组的内容declare -p disks

相关内容