今天做LVM实验,第一次感觉手动交互的创建分区是在太费劲了。遂写以下脚本:
第一个:删除分区脚本
#!/bin/bash
#删除分区的脚本
#使用方法 /PATH/TO/SHELL_NAME /dev/DEV_NAME
DEV=$1
DEVID=${C##*/} #取得设备的基名
PARTNUM=$(cat /proc/partitions | grep -o "$DEVID[0-9]\{1,2\}" | grep -o "[0-9]\{1,2\}" | sort -nr) #现有分区数量
for I in $PARTNUM;do
echo -n "d
$I
w" | fdisk $1 &> /dev/null
partx -a $1 &> /dev/null
done
cat /proc/partitions #最后查看结果#
第二个:只增加逻辑分区脚本
#!/bin/bash
#自动增加8个逻辑分区脚本
#使用方法: SHELL_NAME /DEV/DEV_NAME
#判断是否存在扩展分区
if ! fdisk -l $1 | grep -i "extended" &> /dev/null;then
echo -n "n
e
1
w" | fdisk $1 &> /dev/null
partx -a $1 &> /dev/null
fi
#由于fdisk -l出来的多2个$1,所以必须在$2上多加2
declare -i LOGICPARTNUM=$(fdisk -l $1 | grep -o "$1" | wc -l)
while [ $LOGICPARTNUM -lt $2 ];do
echo -n "n
l
+2G
w" | fdisk $1 &> /dev/null
partx -a $1 &> /dev/null
LOGICPARTNUM=$(fdisk -l $1 | grep -o "$1"| wc -l)
done
#这里取得共有多少逻辑分区需要被转换类型
LOGICPARTT=$(fdisk -l /dev/sdb | grep -v Extended | grep -o "$1[0-9]\{1,2\}" | grep -o "[0-9]\{1,2\}")
for I in $LOGICPARTT;do
echo -n "t
$I
8e
w" | fdisk $1 &> /dev/null
done
cat /proc/partitions原文:http://caduke.blog.51cto.com/3365689/1357466