优化以下这段shell脚本 #!/bin/bash rm -f /media/cdrom mkdir /media/cdrom mount /dev/cdrom /media/cdrom mv /etc/yum.repos.d/* /tmp cat > /etc/yum.repos/yum.repo <<EOF [yum] name=cdrom baseurl=file:///media/cdrom enabled=1 gpgcheck=0 EOF rm -f /var/run/yum.pid
时间: 2023-06-30 08:24:13 浏览: 151
Centos7 kickstart 配置
可以将多个命令合并成一行,避免多次调用Shell。同时,可以添加错误处理、日志输出等,提高脚本的健壮性。 重构之后的脚本如下:
```bash
#!/bin/bash
# 安装过程中不需要光盘
umount /media/cdrom
mkdir -p /media/cdrom
mount /dev/cdrom /media/cdrom
# 备份原有yum源
yum_conf_dir="/etc/yum.repos.d"
yum_conf_backup="/tmp/yum.repos.d.bak"
if [ -d "$yum_conf_dir" ]; then
mkdir -p "$yum_conf_backup"
mv "$yum_conf_dir"/* "$yum_conf_backup"
fi
# 添加本地yum源
cat > /etc/yum.repos.d/yum.repo <<EOF
[yum]
name=cdrom
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
EOF
# 删除yum锁文件
yum_pid_file="/var/run/yum.pid"
if [ -f "$yum_pid_file" ]; then
rm "$yum_pid_file"
fi
```
该脚本在运行时,会将原有的yum源备份到/tmp/yum.repos.d.bak目录下,以便需要时可以恢复。同时,还添加了对yum锁文件的删除,避免安装过程中被卡住。
阅读全文