我正在运行以下命令来获取已挂载磁盘的列表;
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 967M 0 967M 0% /dev
tmpfs 196M 21M 175M 11% /run
/dev/sda1 19G 3.9G 15G 22% /
tmpfs 976M 0 976M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 976M 0 976M 0% /sys/fs/cgroup
tmpfs 196M 0 196M 0% /run/user/0
/dev/sdb 25G 8.2G 16G 36% /mnt/HC_Volume_4060368
我需要将此名称HC_Volume_4060368
分配给一个变量。由于挂载磁盘名称末尾的4060368
号可能不同,因此我需要一种方法来检查它。
我曾经使用以下命令获取磁盘的名称;
_dd=$(dirname /mnt/HC_*/*)
_dd=$(basename $_dd)
echo $_dd
结果:
HC_Volume_4060368
但是,文件夹中可能有许多名称相似的磁盘/mnt/
以HC_Volume_*
开头,例如HC_Volume_xxxxxxx
但实际上只有一个磁盘已挂载,我只需要找到该挂载磁盘的名称。我想找到它的唯一方法是检查df
命令,但我找不到从该命令的结果中提取磁盘裸名称的方法。
我该怎么做?
您可以检查mount
命令的输出以获取当前挂载的文件系统的列表。 输出由每个格式的挂载一行组成:
<device> on <mountpoint> type <fstype> (<options>)
如果要查找与HC_Volume_*
匹配的已装入卷,则可以执行以下操作:
mountpoint=$(mount | awk '$3 ~ /HC_Volume_/ {print $3}')
volname=${mountpoint##*/}
如果有多个已装入的卷具有匹配的名称,则需要决定如何处理。