欢迎转载,感谢大佬指点。
题目要求:
1.自动获取出当前磁盘分区。并让用户选择。如果选择错误则重新选择 ,quit 则退出脚本
2.提示用户将进行格式化操作是否继续,输入Y则继续 N退出。输入错误则重新输入
3.把用户所选分区分为3个,大小分别为 512M 128M 256M 第三分区格式为82.
脚本:
#!/bin/bash
#
fdisk -l 2> /dev/null |grep "^磁盘 /dev/[h,s]d[a-z]" | awk -F: '{print $1}'
read -p "please input part :" PART
if [ $PART = quit ];then
exit 5
else
until fdisk -l 2> /dev/null |grep "^磁盘 /dev/[h,s]d" |grep "磁盘 $PART" &> /dev/null; do
read -p "please again input part :" PART
done
fi
read -p "will clear all ! Do you want continue (Y/N): " CHOICE
until [ $CHOICE == 'Y' -o $CHOICE == 'N' ]; do
read -p "please input Y/N :" CHOICE
done
if [ $CHOICE = 'Y' ];then
dd if=/dev/zero of=$PART bs=512 count=1
sleep 3
echo 'n
p
1
+512M
n
p
2
+128M
n
p
3
+256M
t
3
82
w '| fdisk $PART &> /dev/null
sleep 2
echo "partition finish "
sync
partprobe $PART &> /dev/null
sleep 2
mke2fs -j "$PART"1 &> /dev/null
mke2fs -j "$PART"2 &> /dev/null
mkswap "$PART"3 &> /dev/null
else
echo "exiting "
exit 2
fi