后天要中期答辩了,今天只刷了一个题,还没写出来,但是想更新博客,所以只有把之前写的东西贴出来了。
一个用于分区的shell脚本
1 #!/bin/bash #指定脚本解释器路径 2 echo "initial a disk……" 3 echo -e "\033[31mWarning!:\033[0m" #提醒用户危险操作 4 5 fdisk -l 2> /dev/null | grep -o "disk /dev/[sh]d[a-z]" #显示所有分区 6 7 read -p "your choice:" partdisk #读入要操作的分区 8 9 if [ $partdisk == "quit" ];then 10 echo "quit" 11 exit 7 #错误退出,非0 12 fi 13 14 until fdisk -l 2> /dev/null | grep -o "disk /dev/[sh]d[a-z]" | grep "disk $partdisk$" &> /dev/null;do 15 read -p "wrong option,your choice:"partdisk 16 done 17 18 read -p"are you sure?" choice 19 20 until [ $choice==‘y‘ -o $choice ==‘n‘];do 21 read choice 22 done 23 24 if [$choice = n ];then 25 exit 0 26 else 27 dd if=/dev/zero of=$pa partdisk bs=512 count =1 #从设备/dev/zero输出0覆盖所在磁盘的第一个扇区,删除所有分区 28 sync 29 ##删除所有分区 30 echo "partion" ### 31 sleep 3 # 32 echo ‘n #32-45行echo的内容,和命令行中操作步骤一样 33 p # 34 1 # 35 # 36 +20M # 37 n # 38 p # 39 3 # 40 41 +128M 42 t 43 3 44 82 45 w‘|fdisk $partition &>/dev/null #返回消息送入/dev/null 设备 46 sync 47 partprobe $partdisk #写入硬盘 48 sync 49 sleep 3 #同步内容花费时间较长,休眠3s否则下面格式化命令无法执行 50 mke2fs -j ${partdisk}1 &>/dev/null 51 mke2fs -j ${partdisk}2 &>/dev/null #格式化分区,消息送入/dev/null 52 mkswap ${partdisk}3&>/dev/null #格式化交换分区
时间: 2024-10-14 11:06:07