bash
脚本,用于在 Linux 系统中自动挂载一个硬盘分区。假设要挂载的分区是/dev/sdb1
,挂载点是/mnt/data
。
#!/bin/bash
# 检查挂载点是否存在,不存在则创建
if [! -d "/mnt/data" ]; then
mkdir -p /mnt/data
fi
# 检查分区是否已经挂载
if grep -qs "/dev/sdb1" /proc/mounts; then
echo "分区 /dev/sdb1 已经挂载。"
else
# 尝试挂载分区
mount /dev/sdb1 /mnt/data
if [ $? -eq 0 ]; then
echo "分区 /dev/sdb1 挂载成功。"
else
echo "分区 /dev/sdb1 挂载失败。"
fi
fi
if
语句和! -d
条件检查挂载点/mnt/data
是否存在。如果不存在,就使用mkdir -p
命令创建挂载点。-p
选项可以递归创建目录,即如果父目录不存在也会一起创建。grep -qs
命令在/proc/mounts
文件中查找/dev/sdb1
是否已经被挂载。-q
选项表示安静模式,不输出匹配内容,-s
选项表示即使文件不存在也不报错。如果已经挂载,就输出提示信息。mount
命令将/dev/sdb1
挂载到/mnt/data
。$?
是上一个命令的退出状态码,当mount
命令执行成功时,退出状态码为 0。根据退出状态码判断挂载是否成功,并输出相应的提示信息。
mount.conf
,内容如下(示例):
# 每行格式为:设备名 挂载点
/dev/sdb1 /mnt/data1
/dev/sdc1 /mnt/data2
auto_mount.sh
:
#!/bin/bash
# 读取配置文件并挂载分区
CONFIG_FILE="mount.conf"
if [ -f "$CONFIG_FILE" ]; then
while read -r line; do
device=$(echo $line | awk '{print $1}')
mount_point=$(echo $line | awk '{print $2}')
# 检查挂载点是否存在,不存在则创建
if [! -d "$mount_point" ]; then
mkdir -p $mount_point
fi
# 检查分区是否已经挂载
if grep -qs "$device" /proc/mounts; then
echo "分区 $device 已经挂载。"
else
上一篇:WIN系统远程教程
上一篇:win2008系统多界面