Linux---Day14 shell.sh

***列出当前系统上的所有磁盘,让用户选择,如果选择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`
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,484评论 0 5
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 10,032评论 0 5
  • 1、文件和目录: # cd /home 进入 '/home' 目录 # cd .. ...
    XDgbh阅读 6,283评论 0 1
  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 9,958评论 0 11
  • 每一次启程和抵达都在证明向上的意义 只要前行,即是向上 致敬270万豪友 下一个十年,继续向上... 每一次启程和...
    太仓永通华阳阅读 1,058评论 0 0

友情链接更多精彩内容