我正在运行以下命令来获取已安装磁盘的列表;
$ 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
但是,在HC_Volume_*
文件夹中可能有许多名称相似的磁盘以/mnt/
开头,例如HC_Volume_xxxxxxx
,但是实际上只有其中一个已挂载,我需要找到该名称仅该已安装的磁盘。我猜唯一找到此方法的方法是通过检查df
命令,但是我找不到从该命令的结果中提取磁盘裸名的方法。
我该怎么做?
答案 0 :(得分:2)
您可以检查mount
命令的输出以获取当前已安装文件系统的列表。输出包含以下格式的每一行一行:
<device> on <mountpoint> type <fstype> (<options>)
如果您正在寻找与HC_Volume_*
匹配的已安装卷,则可以执行以下操作:
mountpoint=$(mount | awk '$3 ~ /HC_Volume_/ {print $3}')
volname=${mountpoint##*/}
如果有多个装载的卷具有匹配的名称,则需要决定如何处理。