***列出当前系统上的所有磁盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择;
***当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续,选择n就退出,否则让用户重新选择;
vim partdisk.sh
#!/bin/bash
#
echo "Initial a disk..."
echo -e "\033[31mWarning: \033[0m May damage the disk" ###-e\033[031m \033[0m指定颜色
fdisk -l 2> /dev/null | grep -o "^Disk /dev/[sh]d[a-z]"
read -p "Your choice:" PARTDISK
if [ PARTDISK == 'quit' ]; then
echo "quit"
exit 7
fi
until fdisk -l 2> /dev/null | grep -o "^Disk /dev/[sh]d[a-z]" | grep "^Disk $PARTDISK" &> /dev/null; do
read -p "Wrong choice Your choice again:" PARTDISK
done
read -p "Will destroy all data, continue:" CHOICE
until [ $CHOICE == 'y' -o $CHOICE == 'n' ];do
read -p "Will destroy all data continue:" CHOICE
if [ $CHOICE == 'n' ]; then
echo "Quit"
exit 9
else
dd if=/dev/zero of=$PARTDISK bs=512 count=1 &> /dev/null
echo 'n
p
1
+20M
n
p
2
+512M
n
p
3
+128M
t
3
82
w' | fdisk $PARTDISK &> /dev/null
partprobe $PARTDISK ###探测PARTDISK上的所有分区
sync
sleep 2
mke2fs -j ${PARTDISK}1 &> /dev/null
mke2fs -j ${PARTDISK}2 &> /dev/null
mkswap ${PARTDISK}3 &> /dev/null
fi
`fdisk -l`
挂载
`mount /dev/hda2 /mnt`
`ls /mnt`
网友评论