我们使用的云主机,购买一块云盘后,默认并不是挂载状态的,用shell写一个脚本,只要把盘符和挂载点以参数的形式提供给脚本,该脚本就可以自动格式化、挂载。

要求:

1 不用分区,直接格式化

2 格式化为ext4文件系统类型

#!/bin/bash
echo "用法:$0 盘符 挂载点,如:$0 /dev/sdb /data"
if [ $# -ne 2  ]
then
   exit
fi
if [ ! -b $1  ]
then
   echo "你提供的盘符不正确,请检查后再操作"
   exit 1
fi
mke2fs -t ext4 $1
if [ ! -d $2  ]
then
    mkdir -p $2
fi
n=`grep "$2" /etc/fstab|wc -l`
if [ $n -eq 0  ]
then
     echo " $1                $2        ext4  defaults 0 0  ">> /etc/fstab
     mount -a
else
     mount $1 $2
    echo "配置文件/etc/fstab中已经存在挂载点$2,请检查一下"
fi

自己写的if

#!/bin/bash
read -p "请输入盘符:" p
read -p "请输入挂载点:" g
n=`grep "$g" /etc/fstab /etc/fstab|wc -l `
l=`grep "$p" /etc/fstab /etc/fstab|wc -l`
##第一个if开头
if [ -b $p ]
then
###第二个if开头
  if [ -d $g ]
  then
####第三个if开头
      if [ $n -eq 0  ] && [ $l -eq 0  ]
      then
          mke2fs -t ext4 $p
          echo "$p     $g    ext4   defaults 0 0">> /etc/fstab
           mount -a
      elif [ $l -gt 0  ]
      then
            echo "$p已经挂载啊"
      elif [ $n -gt 0  ]
      then
            echo "$g挂载点已经挂载"
         fi
####第三个if结尾
    else
    mkdir -p $g
  fi
###第二个if结尾
else
echo "$p盘符不正确,请检查后再操作"
fi
##第一个if结尾