提取分区数量的最佳方法?

问题描述:

假设磁盘上只有主分区,找到当前分区数量的最佳方法是什么?提取分区数量的最佳方法?

有没有什么更好的办法比:

fdisk -l > temp 
#Following returns first column of the last line of temp e.g. /dev/sda4 
lastPart=$(tail -n 1 temp | awk '{print $1}') 
totalPartitions=$(echo ${lastPart:8}) 

$ totalPartitions变量有时会返回NULL 。这就是为什么,我想知道是否有更可靠的方法来查找当前的分区数量。

什么:

totalPartitions=$(grep -c 'sda[0-9]' /proc/partitions) 

+0

谢谢。这是更有效的解决方案。 – baltoro 2010-08-25 11:05:30

+0

请注意,尽管大多数类UNIX操作系统支持procfs,但只有Linux(afaik)支持非进程相关信息(如/ proc/partitions)。换句话说,这可能会失败,例如FreeBSD。 – gamen 2010-08-25 12:56:49

+0

由于某种原因,当我编辑我的上述帖子时,他告诉我“这个评论可能不再被编辑”,所以我加入了这个帖子。达夫特。因为较早的Linux内核区分了使用PATA或SCSI的驱动器(您可能还记得PATA驱动器传统上被称为'hdX'),所以'sdX'只能在合理的现代系统上运行。 – gamen 2010-08-25 13:06:11