Skip to main content

writing-bash-scripts

Create and refactor Bash scripts following conventions (strict mode, fct_ naming, quoting). Includes shellcheck linting. Use when creating shell scripts, refactoring existing scripts, debugging shell errors, or linting scripts.

来源信息

仓库
archibate/dotfiles-opencode
最近来源活动
2026年2月19日 11:23
检测到的 SKILL.md 语言
英语
星标
108
Forks
21

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
5 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
writing-bash-scripts
description
Create and refactor Bash scripts following conventions (strict mode, fct_ naming, quoting). Includes shellcheck linting. Use when creating shell scripts, refactoring existing scripts, debugging shell errors, or linting scripts.
# Bash Use this skill whenever the user asks to create/update/refactor a Bash script (`.sh`) or lint shell scripts. ## Defaults - Shebang: `#!/usr/bin/env bash` - Strict mode: `set -Eeuo pipefail` - Functions: `fct_<descriptive_snake_case>() { ... }` - Variables: quote expansions like `"${var}"`, prefer `printf`, use `readonly` for constants and `local` inside functions ## Workflow ### Creating/Refactoring Scripts 1. Copy `scripts/pref_bash_script_template.sh` to the target path and rename it. 2. Update the SCRIPT INFO / USAGE header blocks. 3. Implement behavior in `fct_execute_this`, keep `fct_main` + `trap` structure. 4. Follow the detailed conventions in `references/pref_bash.md`. 5. Run shellcheck linting (see below). ### Linting Scripts Run shellcheck on scripts using the provided wrapper: ```bash # Lint all scripts in scripts/ directory (default) .opencode/skill/bash/scripts/run_shellck.sh # Lint specific files or directories .opencode/skill/bash/scripts/run_shellck.sh path/to/script.sh .opencode/skill/bash/scripts/run_shellck.sh scripts/ other/dir/ ``` The linting script: - Automatically detects shell scripts by extension (`.sh`, `.bash`, `.zsh`) or shebang - Exits non-zero on shellcheck failures - Defaults to scanning `scripts/` when no arguments provided See `references/pref_bash.md` section 14 for shellcheck integration details.
在 GitHub 查看