shell脚本创建分区、格式化分区、转换分区

一、shell脚本代码

#!/bin/bash

#添加一个函数检查用户是否操作sda,如果用户操作sda直接退出脚本
function bd_sda(){
        if [[ "$cname" == "sda" ]]
        then
                echo "不能对磁盘sda进行操作"
                exit 1
        fi
}

#创建分区函数
function create_pra(){
        local size=$1           #获取第一个参数:分区大小
        local xnum=$2           #获取第二个参数,分区序号
        local one=$3            获取第三个参数,用于判断分区是否为第一个分区

         #使用正则表达式规定输入的分区大小格式,匹以+号开头,后面至少跟一个数字,以K、M、G、T结尾
       if [[ $size =~ ^\+[0-9]+[KMGT]$ ]]

        then
                 #判断第三个参数是否为真
                if [ "one" == "true" ]
                then
                        #第三个参数为true,清除分区表并命令创建新分区
                        echo -e "o\nn\np\n$xnum\n\n$size\nw" | fdisk /dev/$cname
                else
                        #第三个参数不为true,执行该条命令继续创建分区
                        echo -e "\nn\np\n$xnum\n\n$size\nw" | fdisk /dev/$cname
                fi
                sync    #确保分区数据能同步到磁盘
                #退出并返回fdisk命令状态
                return $?
        else
                echo "无效输入,请输入正确格式,如[+5G,+500M]:"
                return 1
        fi
}

#将分区转换为swap分区函数
function zh_swap(){
        local par=$1
        echo "将分区$par转换为swap区...."
        mkswap $par
        sleep 2s
        echo "转换已完成"
        read -p "是否启用swap分区,请输入y/n:" sd
        sd=$sd
        if [ "$sd

你可能感兴趣的:(运维)