自动创建分区的shell脚本

题目:用shell脚本自动添加分区,已实现功能如下:

1.检查扩展分区是否,且是否可以添加,如果可以则把所有的剩余空间设置为扩展分区

2.当扩展分区存在,则输入要添加的分区大小,仅接受大于1的正整数

代码如下:

#!/bin/bash
Hard='/dev/sda'
Exten=`fdisk -l $Hard|grep Extended`
Maxnum=`fdisk -l $Hard|grep -o "^/dev/sda[1-9]\>"|tr -d [[:punct:]]|tr -d 'A-Za-z'|sort -n|tail -1
if [[  -z $Exten ]];then
        if [[ $Maxnum -ge 4 ]];then
                echo "Disk partitions error!..."
                exit 1
        elif [ $Maxnum -eq 1 -o $Maxnum -eq 2 ];then
#       echo "1---3"
                cat << EOF
                e|E)use all free disk greate is Extended;
                *)Quit;
EOF
                Sdanum=$((Maxnum+1))
                read Opt
                case $Opt in
                e|E)
fdisk $Hard &> /opt/fdisk.log <<EOF
n
e
$Sdanum

w

EOF
                ;;
                *)
                echo "None operating ,Exit"
                exit 2
                ;;
                esac
        else
                cat << EOF
        e|E)use all free disk greate is Extended;
        *)Quit;
EOF
                read Opt
                case $Opt in
                e|E)
                fdisk $Hard &> /opt/fdisk.log <<EOF
                n
                e

                w
EOF

                ;;
                *)
                echo "None operating ,Exit"
                exit 2
                ;;
                esac

        fi
else
        echo 'Please input new partition size(MB),Only number.'
        read Size
        Pun=`echo "$Size"|grep "[[:punct:]]\+"`
                while [[ $Size -le 1 || -n $Pun ]]
                do
                        echo "Wrong try again!"
                        Size=
                        read Size
                        Pun=`echo "$Size"|grep "[[:punct:]]\+"`
                done
        answer=${Size:-50}
        fdisk $Hard &> /opt/fdisk.log <<EOF
        n

        +${Size}M
        w

EOF
fi

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索shell
, 脚本
, 自动
, 整数
, THEN
FDISK
linux创建shell脚本、shell脚本创建文件夹、创建shell脚本、mac创建shell脚本、shell脚本创建文件,以便于您获取更多的相关知识。

时间: 2024-11-05 16:27:07

自动创建分区的shell脚本的相关文章

shell 自动重启nginx php shell脚本

shell 自动重启nginx php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

下载Google官方/CM Android源代码自动重新开始的Shell脚本

        国内由于某种原因,下载CM或Google官方的Android源代码总容易中断.总看着机器,一中断就重新执行repo sync还太麻烦,所以我特意编写了一段shell脚本(download.sh).通过获取shell最后返回的状态码来决定是否再次执行repo sync命令. #!/bin/bash echo "======start repo sync======" repo sync # 第一次下载android源代码 while [ $? != 0 ]; do ech

自动重启服务的shell脚本代码_linux shell

复制代码 代码如下: #!/bin/bash if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1 code=`awk 'NR==1 {print $2}' /tmp/status` if [ "$[code]" -ge 500 ];then d

Centos7系下自动修改网卡名称shell脚本

直接上代码! #!/bin/sh   [ -f /etc/init.d/functions ] && . /etc/init.d/functions ###修改网卡配置文件名称 function net () { b0=-1 cat /proc/net/dev |grep ':' | grep -v 'lo' | cut -d: -f1 | sort >> /tmp/net_name.txt do c0=$line b0=`expr $b0 + 1` mv /etc/sysco

自动清除日期目录shell脚本

    很多时候备份通常会使用到基于日期来创建文件夹,对于这些日期文件夹下面又有很多子文件夹,对于这些日期文件整个移除,通过find结合rm或者delete显得有些力不从心.本文提供一个简单的小脚本,可以嵌入到其他脚本,也可直接调用,如下文供大家参考.   1.脚本内容 [root@SZDB ~]# more purge_datedir.sh #!/bin/bash # Author: Leshami # Blog : http://blog.csdn.net/leshami RemoveDir

监控php-fpm并自动重启服务的shell脚本_linux shell

脚本代码: 复制代码 代码如下: #!/bin/bash #变量初始化process="php-fpm" #进程名startCmd="/etc/init.d/php-fpm start" #启动命令down=0 while truedo    #取得http状态码    code=$(curl -H "Host:www.jb51.net" -m 5 -L -s -w %{http_code} http://127.0.0.1 -o /dev/nu

一个监控Squid运行进程数并自动重启的简洁Shell脚本分享_linux shell

复制代码 代码如下: #!/bin/sh while sleep 30 do SquidNum=`ps -ef|grep squid|grep -v grep|wc -l` #HttpNum=`netstat -an|grep 0.0.0.0:80|grep -v grep|wc -l` #80状态 if [ $SquidNum != 3 ] ; then /etc/rc3.duid start adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S` e

如何在shell脚本中使用变量

如何在shell脚本中使用变量 在每种编程语言中,变量都扮演了一个重要的角色.在Linux shell脚本编程中,我们使用两种类型的变量:系统定义的变量和用户定义的变量. shell脚本中的变量是用来调用一个数值或者字符值的手段.与正规的编程语言不同的是,shell脚本不要求你去为变量声明一个类型. 在本文中,我们将讨论shell脚本编程中的变量及其类型,以及如何设置和使用这些变量. 系统定义的变量: 这些变量由操作系统(Linux)自身创建并维护,通常它们以大写字母定义,我们可以通过命令"$

Hadoop自动化安装shell脚本

之前写过一些如何安装Cloudera Hadoop的文章,安装hadoop过程中,最开始是手动安装apache版本的hadoop,其次是使用Intel的IDH管理界面安装IDH的hadoop,再然后分别手动和通过cloudera manager安装hadoop,也使用bigtop-util yum方式安装过apache的hadoop. 安装过程中参考了很多网上的文章,解压缩过cloudera的cloudera-manager-installer.bin,发现并修复了IDH shell脚本中关于p