写一个脚本(前提:请为虚拟机新增一块硬盘,假设它为/dev/sdb),为指定的硬盘创建分区:
1、列出当前系统上所有的磁盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择;
2、当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续,n就退出;否则,让用户重新选择;
3、抹除那块硬盘上的所有分区(提示,抹除所有分区后执行sync命令,并让脚本睡眠3秒钟后再分区);并为其创建三个主分区,第一个为20M,第二个为512M, 第三个为128M,且第三个为swap分区类型;
这是我写的,供大家参考:
#!/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
Hasin - hello,i am haosin.i like sport ,art ,science
#!/bin/bash
FDISK() {
fdisk $1 << EOF
n
p
1
1
+20M
n
p
2
+512M
n
p
3
+128M
t
3
82
w
EOF
}
fdisk -l |grep "Disk /"|cut -c 6-13
read -p " Choice your disk:" a
while :;do
if [ $a == /dev/sda -o $a == /dev/sdb ];then
break
elif [ "$a" == quit ];then
exit
else
read -p "plese retry,or quit:" a
fi
done
read -p " ##Warning##!!are you sure,it's will be over date n|y?" m
while :;do
case $m in
y)
dd if=/dev/zero of=$a bs=512 count=1
sync
sleep 3
FDISK $a
break
;;
n)
exit 2
;;
*)
read -p "please retry: n|y?" m
;;
esac
done
编辑回复