Linux系统中使用shell判断磁盘是否格式化的方法

由于项目的需要,需要对emmc进行分区完成后并格式化操作,思路有三种:第一种在uboot中实现,以前的uboot有一些格式化命令,可是现在新版本的不知道是哪个,之前的版本uboot可能是被移植过去的;第二种是在Linux使用shell脚本实现,先使用mount挂载分区,如果挂载不成功,那么就进行格式化;第三种使用Linux的应用程序,在启动脚本中加载该应用,判断分区是否可以挂载,否则就进行格式化。

之前的u-boot使用的格式化命令是fatformat,如果有网友知道请告知,谢谢了。

这里最简单的方式也就是使用shell脚本的方式了。

首先要获得mount挂载的返回值了,shell提供的方式是$?,然后判断$?是否为0即可。

具体的代码如下:

mount -t ext4 /dev/mmcblk0p3 /mnt/sdcard/p1

ret=$?
echo $ret
if [ $ret -ne 0 ];then
	echo "Start format /dev/mmcblk0p3"
	mkfs.ext4 /dev/mmcblk0p3
	mount -t ext4 /dev/mmcblk0p3 /mnt/sdcard/p1
	echo "Format & mount /dev/mmcblk0p3 success"
fi

磁盘设备注意对应自己的系统来设置。该方法可以对多种格式的文件系统进行判断和格式化。




你可能感兴趣的:(格式化,文件系统,ext4)