Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

uninstall-idle.sh: removes scripts from /home/<user>, but install uses the getent home

未关闭 适合新手
#131 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
85/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
aws, bash, shell
领域
devops

调研方向

阅读 bootstraps/optional/idle-shutdown/uninstall-idle.sh 第 78–81 行附近的内容,并与 install-idle.sh 第 94 行查找主目录的方式进行比较。更新卸载循环,使用 getent passwd 获取每个用户的主目录,然后从该目录中删除两个空闲状态检查脚本。卸载 root 时目标为 /root 且脚本已删除,即为完成。

由索引模型根据 Issue 内容生成。

描述

bug good first issue

uninstall-idle.sh L78-81:

for u in ec2-user ubuntu "${SUDO_USER:-}" "$(id -un)"; do
  [[ -z "$u" ]] && continue
  try "rm -f /home/${u}/.openclaw/workspace/idle-check.sh /home/${u}/.openclaw/workspace/idle-check.py"
done
ok "scripts removed"

Problem: install-idle.sh L94 gets the home directory from getent passwd, and its comment says "NOT hardcoded /home" (root uses /root). With --install-user root, the scripts go to /root/.openclaw/workspace/, but the uninstaller tries /home/root/.... The files stay on disk, and the script still prints "scripts removed".

Fix: In the loop, get the home with h="$(getent passwd "$u" | cut -d: -f6)"; [[ -n "$h" ]] || continue, then remove "$h/.openclaw/workspace/idle-check.sh" and "$h/.openclaw/workspace/idle-check.py".


Found by a code read at commit 1e50295. The code was read, but not run on a real instance.

主要语言
Shell
星标
73
派生
11
平均合并
6 小时 46 分钟
30 天内合并 PR
5

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

inceptionstack/lowkey 的其他 Issue

查看 inceptionstack/lowkey 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。