
挂载硬盘
update: more user friendly 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 #bin/bash mustBeRoot() { if [ "$(id -u)" != "0" ]; then echo "只有root用户才能运行" 1>&2 echo "当前登录用户`whoami`" exit 1 fi } # 数据盘挂载 checkAndMountDataDisk() { echo "选择数据盘/分区 :" fdisk -l | grep /dev | grep G | cut -f 1 -d , echo " " read -p "请输入硬盘/分区 名:/dev/" -r disk_name disk_id=`blkid | grep $disk_name` if [ $? -ne 0 ];then echo "获取硬盘/分区 $disk_name uuid失败,请检查名称是否准确" exit 1 fi disk_path=`echo $disk_id | cut -f 1 -d ':' ` echo "已选择 $disk_path" disk_uuid=`blkid $disk_path | cut -f 2 -d '"' ` disk_info=`lsblk -f $disk_path | grep $disk_uuid ` if [ $? -ne 0 ];then echo "获取硬盘/分区 $disk_path 详细信息失败,请检查名称是否正确" exit 1 fi fs_type=`echo $disk_info | cut -f 2 -d ' '` if [ $fs_type != 'ext4' ];then echo "硬盘文件系统格式不是ext4。" read -p "是否格式化为 ext4? 输入 y 同意格式化" -r format_ext4 if [ $format_ext4 != 'y' ];then echo "未格式化 $disk_path 文件系统格式,退出安装脚本。" exit 1 fi echo "即将格式化 $disk_path 文件系统格式...." mkfs.ext4 $disk_path fi if [ -d "$1" ];then echo "数据盘挂载点/data目录已存在" else echo "创建数据盘挂载点/data目录" mkdir $1 fi mount UUID=$disk_uuid $1 echo "UUID=$disk_uuid $1 ext4 defaults 0 0" >> /etc/fstab echo "硬盘挂载成功" } checkDataMountpoint() { echo '挂载数据盘' grep "$1" /etc/fstab | grep ext4 if [ $? -ne 0 ];then checkAndMountDataDisk else echo '数据盘已挂载' mount -a fi cpAndUntar } mustBeRoot checkDataMountpoint ${1-/data} lsblk 首先使用lsblk查看当前系统硬盘挂载的情况 ...