脚本陷入自循环的解决方法

问题:脚本开机自启并死循环

在 CentOS 上给 mycat.sh 配置了开机自启后,脚本里又 source 了自己,导致登录时不断递归执行,最终卡死在登录界面,只能进入单用户模式修复。

方法:进入单用户救援模式删除问题脚本

  1. 在 VMware 中重启这台 CentOS 虚拟机。
  2. GRUB 菜单出现的时候,按 e 编辑启动项。
  3. 找到以 linux16 开头的那一行,把里面的 ro 修改成 rw。
  4. 在这一行最后面 ,用空格隔开,追加:init=/sysroot/bin/sh。
  5. 按 Ctrl + x 进入救援 shell。

修改完后的整行末尾示例:

复制代码
...rhgb quiet LANG=zh_CN.UTF-8 init=/sysroot/bin/sh

⚠️ 不要删别的参数,只改 ro→rw、末尾加 init 那一段!

进去之后依次敲下面命令

复制代码
chroot /sysroot
rm -f /etc/profile.d/mycat.sh
exit
reboot

重启之后,登录死循环问题就修复了。

原理补充

  • ro 与 rw:ro = read-only 只读;rw = read-write 读写,不改 rw 删不了文件。
  • init=/sysroot/bin/sh:跳过正常登录流程,直接进 shell,不会触发 profile.d 里面那个死循环脚本。

修复后重写 mycat.sh

改完重启成功后,重新写 mycat.sh,脚本里只能放 export,绝对不要再写 source 自己。

复制代码
export MYCAT_HOME=/usr/local/mycat
export PATH=$MYCAT_HOME/bin:$PATH
相关推荐
普通人610 小时前
WebGL与WebGPU入门指南
开发语言·webgl·1024程序员节
猫猫不是喵喵.1 天前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
fish_zzzz4 天前
笔记-论数据结构2
1024程序员节
普通人65 天前
PHP文件读写完全指南
开发语言·php·1024程序员节
Martina_03215 天前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
星云_byto6 天前
CSS布局
人工智能·机器学习·目标跟踪·1024程序员节
张小姐的猫9 天前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
工业HMI实战笔记10 天前
印刷电路板HMI:SMT贴装的元件定位界面
制造·设计规范·设计语言·1024程序员节
Martina_032110 天前
AI生成3D模型一合并网格,材质就串色?用6步检查材质槽、UV与图集重映射
图像处理·人工智能·3d·材质·uv·游戏策划·1024程序员节
橙光成长10 天前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节