Fitten Code 可将自然语言需求转为健壮 Shell 脚本:需保存为 .sh 文件触发 Bash 识别,首行必须为 #!/bin/bash 并添加 set -euo pipefail;用“对象+动作+约束”三要素描述任务;生成后须插入、补全 shebang、加固错误处理、测试逻辑,并通过 Optimize 追加参数支持与环境变量等生产级功能。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

运维人员每天要重复执行日志清理、服务巡检、磁盘告警等任务,手动敲命令容易出错且不可追溯,而用 Fitten Code 写 Shell 脚本能直接把自然语言需求转成带错误处理、日志记录、参数校验的可执行代码,省去查 man 手册、拼管道符、试正则表达式的耗时过程。
创建带健壮性保障的脚本文件
在 VSCode 中新建一个空白文件 → 按 Ctrl+S 保存为 【cleanup_logs.sh】(必须以 .sh 结尾)→ 此时 VSCode 自动识别为 Shell 语言,Fitten Code 才会启用 Bash 语法理解能力;若保存为 .txt 或未命名,它可能按通用文本逻辑响应,生成的脚本大概率缺 shebang、变量未引号包裹、路径含空格时报错。
光标定位到第一行 → 输入 #! → Fitten Code 会自动补全 #!/bin/bash 并高亮提示“建议添加 set -euo pipefail” → 直接回车确认。这行是强制前提,【缺少它可能导致脚本在遇到 grep 无匹配结果或 cd 失败时静默继续执行,引发后续命令误操作】。
用三要素描述法触发精准生成
在编辑器任意位置右键 → 选择「Fitten Code → Ask」→ 在弹出输入框中输入包含“对象+动作+约束”的完整指令:
方法一:面向日志清理场景
“清理 /var/log/nginx/ 下所有超过 7 天的 .access.log 和 .error.log 文件,跳过正在被写入的活跃日志(用 lsof 判断),删除前记录每条操作到 /var/log/cleanup_history.log,失败时发送邮件给 admin@ops.local”
方法二:面向服务巡检场景
“检查 redis-server 进程是否存活,若未运行则尝试 systemctl restart redis,重启后等待 3 秒再验证,连续两次失败就写入错误日志并退出非零状态码”
⚠️ 注意:不能只说“写个监控脚本”,这种模糊指令会让 Fitten Code 默认生成最简版本——可能没有权限检查、不处理 SELinux 上下文、忽略 systemd 与 sysvinit 差异,直接上线会出问题。
插入后必须做的三步加固
第一步:点击生成结果右上角「Insert」按钮 → 脚本内容插入当前文件 → 确保光标仍在顶部 → 手动在第一行补上 #!/bin/bash(如果之前没自动补全)。
Fitten Code 1.0.3是一款由清华博士团队打造的AI编程助手,基于国产计图(Jittor)深度学习框架开发。它支持VS Code、JetBrains系列等主流IDE及80多种编程语言。核心功能包括智能代码补全、注释生成、代码解释、Bug检测、单元测试生成等,旨在全方位提升开发效率。该工具对个人用户免费开放。
第二步:检查是否存在 set -euo pipefail;如果没有,立刻在 shebang 下一行手写该语句。这是防止某条命令失败后脚本仍强行执行的关键防线,比如 rm -rf /tmp/* 失败后若不终止,后续 tar 命令可能打包空目录覆盖备份。
第三步:运行 chmod +x cleanup_logs.sh → 在终端执行 ./cleanup_logs.sh --dry-run(如果脚本支持)或先注释掉危险操作如 rm、systemctl restart,仅保留 echo 和 date 测试逻辑流是否正确。这一步不能跳过,【Fitten Code 生成的脚本默认不带 dry-run 开关,需人工追加或用其 Optimize 功能迭代】。
用 Optimize 功能追加生产级要求
选中已生成的全部脚本代码 → 右键 → Fitten Code → Optimize → 输入增强需求:
① “增加命令行参数支持:-d 指定日志目录,-k 保留最近 N 天文件,-v 输出详细过程”
② “替换硬编码邮箱为环境变量 MAILTO,若未设置则默认使用 root”
③ “在删除每个文件前用 stat 命令确认大小和修改时间,并写入操作日志”
每次 Optimize 后,Fitten Code 会重写整个脚本,保留原始逻辑但注入新功能。它会自动把 getopts 解析块插在开头,把变量赋值统一移到初始化段,比手动改更不容易漏掉 case 分支或忘记 shift 参数。

















