关于 bash-script-writing
bash-script-writing 是一项规范模块化 Bash 脚本结构的技能,面向脚本编写者。内容涵盖函数设计、进度日志和清晰的代码组织。
主要功能
- 01将 main() 放在脚本顶部附近
- 02使用清晰的动词式函数名
- 03让每个函数只负责一项任务
- 04记录进度和完成状态
- 05用标题划分代码段
适用场景
- 01规划新 Bash 脚本的结构
- 02将脚本拆分为职责明确的函数
- 03让脚本执行进度更易追踪
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ steveclarke/ dotfiles --skill bash-script-writing安装后在 Claude Code 中输入/bash-script-writing确认已加载。
详细介绍
编写模块化 Bash 脚本
编写 Bash 脚本时,请遵循以下结构。
脚本模板
将 main() 紧接在变量之后,这样文件顶部就能清晰展示工作流。
#!/usr/bin/env bash
set -euo pipefail
################################################################################
# Script Title
################################################################################
#
# OVERVIEW
# --------
# Brief description of what this script does
#
# USAGE
# -----
# script-name arg1 arg2
#
# CONFIGURATION
# -------------
# Environment variables or config requirements
#
################################################################################
# Colors
green='\033[0;32m'
blue='\033[0;34m'
yellow='\033[1;33m'
red='\033[0;31m'
nc='\033[0m'
# Configuration
VAR_ONE=${VAR_ONE:-default}
VAR_TWO=${VAR_TWO:?VAR_TWO is required}
################################################################################
# Main Orchestration
################################################################################
main() {
parse_arguments "$@"
step_one
step_two
log "Complete!"
}
################################################################################
# Helper Functions
################################################################################
log() { echo -e "${green}==>${nc} ${1}"; }
info() { echo -e "${blue}Info:${nc} ${1}"; }
warn() { echo -e "${yellow}Warning:${nc} ${1}"; }
error() { echo -e "${red}Error:${nc} ${1}" >&2; exit 1; }
################################################################################
# Core Functions
################################################################################
function_name() {
log "What this function does..."
# Implementation
log "Complete"
}
################################################################################
# Script Execution
################################################################################
main "$@"
函数指南
- 名称清晰:使用基于动词的名称(
setup_directory、validate_config) - 单一用途:如果需要用“和”来描述,就应拆分
- 记录进度:以
log "..."开始,以状态结束 - 保持精简:每个函数 5-20 行
- 按节标题分组:使用
####分隔符划分逻辑分组
评论
支持 Markdown