shell实现自动为磁盘分区

回复 收藏

写一个脚本(前提:请为虚拟机新增一块硬盘,假设它为/dev/sdb),为指定的硬盘创建分区:

1、列出当前系统上所有的磁盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择;

2、当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续,n就退出;否则,让用户重新选择;

3、抹除那块硬盘上的所有分区(提示,抹除所有分区后执行sync命令,并让脚本睡眠3秒钟后再分区);并为其创建三个主分区,第一个为20M,第二个为512M, 第三个为128M,且第三个为swap分区类型;

2017-05-18 19:43 举报
已邀请:
0

济南-李聚章

赞同来自:

这是我写的,供大家参考:

#!/bin/bash
FDISK() {
fdisk $1 << EOF
n
p
1
1
+20M
n
p
2
 
+512M
n
p
3
 
+128M
t
3
82
p
w
EOF
}
fdisk -l |grep "Disk /"|cut -d: -f1|awk '{print $2}'
read -p "Your Choice:" DISK
while :;do
        fdisk -l |grep "$DISK" &>/dev/null
        if [ "$?" -eq 0 ];then
                break
        elif [ "$DISK" == "quit" ];then
                exit 1
        else
                blkid|cut -d: -f1
                read -p "Your Choice:" DISK
        fi
done
 
read -p "dangerous,Choice:n|y?" DAN
while :;do
case $DAN in
y)
        dd if=/dev/zero of=/dev/sdb bs=512 count=1
        sync
        sleep 3
        FDISK $DISK &>/dev/null
        fdisk -l $DISK
        break
        ;;
n)
        exit 2;;
*)
        read -p "dangerous,Choice:n|y?" DAN
        ;;
esac
done


回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: