Skip to content
cccskills
FreePublished on GitHub

bash-style

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

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:?}"/*

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

doccker/cc-use-exp1.1KUpdated Aug 26, 2026

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

The English summary is being prepared. Showing the original description.

doccker/cc-use-exp1.1KUpdated Aug 26, 2026

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

The English summary is being prepared. Showing the original description.

doccker/cc-use-exp1.1KUpdated Aug 26, 2026

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

The English summary is being prepared. Showing the original description.

doccker/cc-use-exp1.1KUpdated Aug 26, 2026

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

The English summary is being prepared. Showing the original description.

doccker/cc-use-exp1.1KUpdated Aug 26, 2026

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

The English summary is being prepared. Showing the original description.

doccker/cc-use-exp1.1KUpdated Aug 26, 2026

See all skills by doccker

Report a problem with this skill