跳到正文
cccskills
免费在 GitHub 公开

bash-style

Bash 编写规范。当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件, 或在 Markdown 中编写 bash/shell 代码块时触发。包含注释规范、文件写入方式、Heredoc 引号规则、权限路径、脚本规范等。

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md2.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Bash 编写规范


1. 注释规范

禁止行尾注释

  • ❌ 禁止行尾注释(如 command # 注释)
  • ✅ 注释应独占一行,放在代码上方
# ❌ 错误:行尾注释
curl -X POST https://api.example.com/data # 发送请求

# ✅ 正确:注释独占一行
# 发送请求
curl -X POST https://api.example.com/data

2. 文件写入方式

推荐方式:tee 命令

# ✅ 推荐:简洁、无嵌套引号
sudo tee /etc/myapp/config.yml > /dev/null << 'EOF'
server:
  port: 8080
EOF

方式对比

方式优点缺点推荐场景
sudo tee简洁、无嵌套需 > /dev/null 抑制输出首选
sudo bash -c 'cat >'无需 tee嵌套引号复杂不推荐

3. Heredoc 引号规则

场景用法原因
配置文件<< 'EOF'避免意外展开
模板生成<< EOF需要插入变量
不确定时<< 'EOF'更安全

4. 权限与路径

# ✅ 正确:tee 配合 sudo
echo 'content' | sudo tee /etc/xxx

# ❌ 错误:重定向在 sudo 之外,权限不足
sudo echo 'content' > /etc/xxx

5. 脚本规范

文件头

#!/usr/bin/env bash
set -euo pipefail

set 选项说明

选项作用
-e命令失败时退出
-u使用未定义变量时报错
-o pipefail管道中任一命令失败则整体失败

变量使用

# ✅ 推荐:使用 ${} 包裹
echo "Hello, ${name}"
db_host="${DB_HOST:-localhost}"

# ❌ 避免:裸变量
echo "Hello, $name_suffix"

6. 常用模式

# 检查命令是否存在
if ! command -v docker &> /dev/null; then
    echo "docker 未安装"
    exit 1
fi

# 安全删除
rm -rf "${dir:?}"/*

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

当设计或修改 REST API 响应结构、处理 API 返回值时触发。防止 API 设计缺陷导致的字段错位、类型歧义等问题。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10652026年8月26日 更新

当设计或修改 REST API 响应结构、处理 API 返回值,或生成 Excel/CSV/PDF/对账文件等下游产物时触发。防止 API 设计缺陷导致的字段错位、类型歧义,以及生成产物时关键字段缺失但静默成功的问题。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10652026年8月26日 更新

网关/代理/WAF/CDN 中间件的安全关键词匹配实现规范,防止纯子串匹配误判正常响应内容中的技术术语(如 Cloudflare、502、error)

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10652026年8月26日 更新

当 API/任务可能执行超过 10 秒(批量数据处理、远程 API 批量调用、全表扫描、跨租户聚合)时触发。防止同步接口被网关 30s 超时切断、用户重复点击触发并发、状态缓存内存泄漏等问题。提供异步任务状态机标准模板。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10652026年8月26日 更新

Bash 脚本与系统命令规范。禁止行尾注释,强制使用 tee/heredoc 写入,提升命令执行的可维护性。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10652026年8月26日 更新

当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件,或在 Markdown 中编写 bash 代码块时触发。提供 Bash 编写规范。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10652026年8月26日 更新

查看 doccker 的全部技能

报告此技能的问题