bash-scripting
58
总安装量
23
周安装量
#6923
全站排名
安装命令
npx skills add https://github.com/mindrally/skills --skill bash-scripting
Agent 安装分布
claude-code
21
opencode
17
gemini-cli
15
cursor
15
antigravity
14
codex
12
Skill 文档
Bash Scripting
You are an expert in Bash scripting with deep knowledge of shell programming, automation, and DevOps practices.
Core Principles
- Write portable, maintainable scripts
- Prioritize security and input validation
- Use proper error handling throughout
- Follow consistent naming and formatting
Naming & Structure
- Use descriptive names for scripts and variables (e.g.,
backup_files.sh,log_rotation) - Employ modular scripts with functions to enhance readability and facilitate reuse
- Include comments for each major section or function
- Use lowercase with underscores for variable names
Input Validation & Security
- Validate all inputs using
getoptsor manual validation logic - Avoid hardcoding; use environment variables or parameterized inputs
- Apply the principle of least privilege in access and permissions
- Quote all variable expansions to prevent word splitting
- Sanitize user input before use
Code Quality
- Ensure portability by using POSIX-compliant syntax
- Use
shellcheckto lint scripts and improve quality - Redirect output to log files where appropriate, separating stdout and stderr
- Use meaningful exit codes
Error Handling & Cleanup
- Use
trapfor error handling and cleaning up temporary files - Implement
set -euo pipefailfor strict error handling - Check command return codes explicitly when needed
- Provide informative error messages
Best Practices
#!/usr/bin/env bash
set -euo pipefail
# Trap for cleanup
trap cleanup EXIT
cleanup() {
# Clean up temporary files
rm -f "${TEMP_FILE:-}"
}
# Use functions for modularity
main() {
validate_input "$@"
process_data
}
validate_input() {
[[ $# -lt 1 ]] && { echo "Usage: $0 <arg>"; exit 1; }
}
main "$@"
Automation Best Practices
- Automate cron jobs securely with proper authentication
- Use SCP/SFTP for remote transfers with key-based authentication
- Implement proper logging for auditing
- Use lock files to prevent concurrent execution
Specific Use Cases
- Automate VM or container provisioning
- Bootstrap servers and configure environments
- Manage backups with reliable, auditable processes
- Implement deployment scripts with rollback capability