Bash 脚本获取未挂载磁盘列表及其大小
#!/bin/bash
disks=() while IFS= read -r line; do disk=$(echo '$line' | awk '{print $1}') size=$(echo '$line' | awk '{print $2}') if [ -z "$(lsblk '/dev/$disk' -n -o MOUNTPOINT)" ]; then disks+=('$disk $size') fi done < <(lsblk -d -o NAME,SIZE -n)
此脚本的作用是获取未挂载的磁盘列表及其大小。
首先定义了一个空数组 disks,用于存储未挂载的磁盘。然后使用 while 循环读取 lsblk 命令输出的磁盘信息,其中 IFS= 表示使用空格作为分隔符,-r 表示不解析反斜杠,-n 表示不输出标题行,-o 指定输出的字段为 NAME 和 SIZE。每次循环中,使用 awk 命令从输出的每行信息中提取磁盘名称和大小,并判断该磁盘是否已被挂载。如果未被挂载,将该磁盘名称和大小拼接成字符串,添加到 disks 数组中。最后输出 disks 数组,即为未挂载的磁盘列表及其大小。
原文地址: https://www.cveoy.top/t/topic/oFNh 著作权归作者所有。请勿转载和采集!