![需要 shell 脚本的帮助来格式化块设备上的文件系统并挂载它](https://linux22.com/image/185038/%E9%9C%80%E8%A6%81%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%B8%AE%E5%8A%A9%E6%9D%A5%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%9D%97%E8%AE%BE%E5%A4%87%E4%B8%8A%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%B9%B6%E6%8C%82%E8%BD%BD%E5%AE%83.png)
我正在尝试创建一个执行以下操作的 shell 脚本
- 检查块设备上是否有文件系统。
- 挂载文件系统。
我现在有这样的事情
ls -ltrh /dev/vdb
brw-rw---- 1 root disk 254, 16 Dec 15 21:09 /dev/vdb
/dev/vdb
我的块设备也是如此。我的剧本是这样的
if TEST-COMMAND-TO-CHECK-IF-VDB-ALREADY-HAS-FILESYSTEM-FORMATTED
then
sudo mkfs.ext4 /dev/vdb
fi
fi
mount | grep /mntpoint > /dev/null && exit 0 || sudo mount /dev/vdb /mntpoint
我试图找到一个好的命令来测试dev/vdb
文件系统是否已格式化。
答案1
这似乎可以解决问题
fs=$(lsblk --output NAME,FSTYPE,LABEL,UUID,MODE |grep vdb | awk '{print $2}')
if [ $fs == "ext4" ];
then
sudo mkfs.ext4 /dev/vdb
else
echo "/dev/vdb is already formatted to ext4"
fi