智慧屏 安装 app如何提升家庭娱乐与教育体验的关键工具
1052
2022-11-24
Shell ❀ Linux系统磁盘快速挂载执行脚本
文章目录
1 脚本代码详解2 代码执行结果
2.1 使用默认系统路径执行脚本2.2 使用指定系统路径执行脚本2.3 磁盘已经完成挂载,执行代码将返回错误
3、脚本参数调整
1 脚本代码详解
#!/bin/bashecho "------------------------------------BEGIN------------------------------------"# 判断默认安装路径是否为/dev/sdaif [ "$1" = "" ];then DISK=`lsblk |grep disk|grep -v sda|awk '{print $1}'` echo " The default installation path is sda !"else DISK=`lsblk |grep disk|grep -v $1|awk '{print $1}'` echo " The customized installation path is $1 !"fi# 磁盘分区函数function PartedDisk{ for disk in $DISK do echo " Starting parted Disk $disk " parted -s /dev/${disk} mklabel gpt &> /dev/null # 配置标签gpt parted -s /dev/${disk} mkpart primary ext4 0 100% &> /dev/null # 配置分区名称、主从分区、分区格式、起始位置、结束位置 done echo -e "\033[32;40m All disk parted Done! \033[0m" # 黑底绿色回显 sleep 1s}# 格式化函数function FormatDisk{ for disk in $DISK do echo " Starting format Disk $disk " mkfs.ext4 -F /dev/${disk}1 &> /dev/null # 修改磁盘文件系统为ext4 done echo -e "\033[32;40m All disk format Done!!! \033[0m" sleep 1s}# 挂载点创建函数function MakeDir{ cd /home for disk in $DISK do echo " Starting make the $disk mount diretory! " mkdir -pv /home/${disk} &> /dev/null # 创建挂载点目录,如/home/sda done echo -e "\033[32;40m MakeDir Done!! \033[0m" sleep 1s}# 挂载磁盘分区function MountDisk{ for disk in $DISK do echo " Starting change aoto-mount file! " uuid=`blkid /dev/${disk}1|awk '{print $2}'|awk -F "\"" '{print $2}'` # 获取UUID echo "UUID=$uuid /home/${disk} ext4 defaults 1 2" >>uuid.txt # 配置自动挂载信息 done cat uuid.txt >> /etc/fstab # 将自定义挂载文件信息定向至自动挂载文件}# 判断磁盘是否已经挂载function Check_Disk{ for disk in $DISK do # 不返回查询 cat /etc/fstab | grep -q $disk # 校验前面查询是否执行成功,成功返回值为0; if [[ $? -eq 0 ]];then # 若磁盘被挂载,则返回错误信息 echo -e "\033[31;40m ERROR,$disk is currently mounted, failed to mount again \033[0m" else # 若磁盘未被挂载,则执行前面函数,并执行一次后,退出循环 PartedDisk&&FormatDisk&&MakeDir&&MountDisk break fi done}# 函数调用Check_Disk# 执行挂载并查看结果mount -a echo "---------------------------------MountStatus---------------------------------"cat -n /etc/fstab | grep -i UUIDecho "-------------------------------------END-------------------------------------"
2 代码执行结果
此脚本执行时需要指定一个参数,该参数为Linux系统安装磁盘位置,若为/dev/sdc,只需要输入sdc即可,默认参数为sda;
2.1 使用默认系统路径执行脚本
2.2 使用指定系统路径执行脚本
2.3 磁盘已经完成挂载,执行代码将返回错误
3、脚本参数调整
第21行可修改磁盘分区情况,依次为分区名称、主从分区、分区格式、起始位置、结束位置,修改位置~ primary ext4 0 100%;第35行可修改磁盘格式化文件系统,修改位置mkfs.ext4;第49行可修改挂载节点目录,修改位置/home/${disk},需要注意的是${disk}为变量;第64行为配置系统自动挂载信息,可根据自定义情况进行修改;第84行为执行函数操作的相关命令,修改需注意;第93行执行挂载命令;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~