bash-script-template
Generate bash script templates with best practices including error handling, argument parsing, logging, and portability considerations.
它会碰到什么
扫了多少2 个文本文件,5 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Bash Script Template
Generate bash script templates with best practices.
Capabilities
- Generate robust bash script templates
- Set up proper error handling
- Implement argument parsing with getopts
- Create logging utilities
- Configure strict mode settings
- Generate reusable function libraries
Usage
Invoke this skill when you need to:
- Create new bash scripts with best practices
- Set up proper error handling patterns
- Implement argument parsing
- Create portable shell scripts
Inputs
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| scriptName | string | Yes | Script name |
| description | string | Yes | Script description |
| arguments | array | No | Script arguments |
| functions | array | No | Functions to include |
Generated Template
#!/usr/bin/env bash
#
# <scriptName> - <description>
#
# Usage: <scriptName> [options] <arguments>
#
set -euo pipefail
IFS=$'\n\t'
# Script directory
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly SCRIPT_NAME="$(basename "${BASH_SOURCE[0]}")"
# Colors (if terminal supports)
if [[ -t 1 ]]; then
readonly RED='\033[0;31m'
readonly GREEN='\033[0;32m'
readonly YELLOW='\033[0;33m'
readonly BLUE='\033[0;34m'
readonly NC='\033[0m'
else
readonly RED='' GREEN='' YELLOW='' BLUE='' NC=''
fi
# Logging functions
log_info() { echo -e "${BLUE}[INFO]${NC} $*"; }
log_success() { echo -e "${GREEN}[OK]${NC} $*"; }
log_warn() { echo -e "${YELLOW}[WARN]${NC} $*" >&2; }
log_error() { echo -e "${RED}[ERROR]${NC} $*" >&2; }
die() { log_error "$*"; exit 1; }
# Cleanup on exit
cleanup() {
# Add cleanup tasks here
:
}
trap cleanup EXIT
# Usage
usage() {
cat <<EOF
Usage: ${SCRIPT_NAME} [options] <argument>
<description>
Options:
-h, --help Show this help message
-v, --verbose Enable verbose output
-d, --dry-run Show what would be done
-f, --force Force operation
-o, --output Output file path
Arguments:
argument Required argument description
Examples:
${SCRIPT_NAME} -v input.txt
${SCRIPT_NAME} --output result.txt input.txt
EOF
}
# Parse arguments
parse_args() {
local OPTIND opt
while getopts ":hvdfo:-:" opt; do
case "${opt}" in
h) usage; exit 0 ;;
v) VERBOSE=true ;;
d) DRY_RUN=true ;;
f) FORCE=true ;;
o) OUTPUT="${OPTARG}" ;;
-)
case "${OPTARG}" in
help) usage; exit 0 ;;
verbose) VERBOSE=true ;;
dry-run) DRY_RUN=true ;;
force) FORCE=true ;;
output=*) OUTPUT="${OPTARG#*=}" ;;
*) die "Unknown option: --${OPTARG}" ;;
esac
;;
:) die "Option -${OPTARG} requires an argument" ;;
?) die "Unknown option: -${OPTARG}" ;;
esac
done
shift $((OPTIND - 1))
# Required arguments
if [[ $# -lt 1 ]]; then
usage
die "Missing required argument"
fi
ARGUMENT="$1"
}
# Defaults
VERBOSE=${VERBOSE:-false}
DRY_RUN=${DRY_RUN:-false}
FORCE=${FORCE:-false}
OUTPUT=${OUTPUT:-}
# Main function
main() {
parse_args "$@"
if [[ "${VERBOSE}" == true ]]; then
log_info "Verbose mode enabled"
fi
if [[ "${DRY_RUN}" == true ]]; then
log_warn "Dry run mode - no changes will be made"
fi
log_info "Processing: ${ARGUMENT}"
# Main logic here
log_success "Done!"
}
main "$@"
Target Processes
- shell-script-development
- cross-platform-cli-compatibility
- cli-application-bootstrap
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
星标★ 1,796
本站分层T1
该仓技能数2115
原文件路径
library/specializations/cli-mcp-development/skills/bash-script-template/SKILL.md