bash-script-writing

Modular Bash Script Writing

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bash-script-writing" with this command: npx skills add steveclarke/dotfiles/steveclarke-dotfiles-bash-script-writing

Modular Bash Script Writing

Follow this structure when writing bash scripts.

Script Template

Place main() immediately after variables so the workflow is visible at file top.

#!/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 "$@"

Function Guidelines

  • Name clearly: Verb-based names (setup_directory , validate_config )

  • One purpose: If you need "and" to describe it, split it

  • Log progress: Start with log "..." , end with status

  • Keep focused: 5-20 lines per function

  • Group with section headers: Use #### dividers between logical groups

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

md-to-pdf

No summary provided by upstream source.

Repository SourceNeeds Review
General

bruno-endpoint-creation

No summary provided by upstream source.

Repository SourceNeeds Review
General

feature-requirements

No summary provided by upstream source.

Repository SourceNeeds Review
General

1password

No summary provided by upstream source.

Repository SourceNeeds Review