bash

#!/usr/bin/env bash set -euo pipefail IFS=$'\n\t'

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" with this command: npx skills add dralgorhythm/claude-agentic-framework/dralgorhythm-claude-agentic-framework-bash

Bash Scripting

Script Template

#!/usr/bin/env bash set -euo pipefail IFS=$'\n\t'

Script description

Usage: ./script.sh <arg1> <arg2>

readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

main() { local arg1="${1:-default}"

# Script logic here
echo "Running with: $arg1"

}

main "$@"

Safety Settings

set -e # Exit on error set -u # Error on undefined variables set -o pipefail # Catch pipe failures set -x # Debug: print commands

Variables

Declaration

readonly CONST="immutable" local var="function scoped"

Default values

name="${1:-default}" # Use default if unset name="${1:?Error: missing}" # Error if unset

String operations

"${var^^}" # Uppercase "${var,,}" # Lowercase "${var#prefix}" # Remove prefix "${var%suffix}" # Remove suffix

Conditionals

File tests

[[ -f "$file" ]] # Is file [[ -d "$dir" ]] # Is directory [[ -r "$file" ]] # Is readable [[ -x "$file" ]] # Is executable

String tests

[[ -z "$var" ]] # Is empty [[ -n "$var" ]] # Is not empty [[ "$a" == "$b" ]] # Equals

Numeric tests

(( num > 5 )) # Greater than (( num == 5 )) # Equals

Functions

log() { local level="$1" local message="$2" echo "[$(date +'%Y-%m-%d %H:%M:%S')] [$level] $message" >&2 }

die() { log "ERROR" "$1" exit 1 }

require_command() { command -v "$1" >/dev/null 2>&1 || die "Required command not found: $1" }

Error Handling

Trap for cleanup

cleanup() { rm -rf "$TMP_DIR" } trap cleanup EXIT

Catch errors

if ! result=$(some_command 2>&1); then die "Command failed: $result" fi

Loops

For loop

for item in "${array[@]}"; do echo "$item" done

While read

while IFS= read -r line; do echo "$line" done < file.txt

Process substitution

while read -r line; do echo "$line" done < <(command)

Best Practices

  • Quote all variables: "$var"

  • Use [[ instead of [

  • Use local in functions

  • Use readonly for constants

  • Always use set -euo pipefail

  • Use shellcheck for linting

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.

Automation

brainstorming

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

context-management

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

designing-systems

No summary provided by upstream source.

Repository SourceNeeds Review