JustBash.Interpreter.Expansion.Parameter (JustBash v0.4.0)

View Source

Parameter expansion operations for bash variables.

Handles all forms of parameter expansion including:

  • Default values: ${VAR:-default}, ${VAR:=default}
  • Alternative values: ${VAR:+alt}
  • Error on unset: ${VAR:?error}
  • Length: ${#VAR}
  • Substring: ${VAR:offset:length}
  • Pattern removal: ${VAR#pattern}, ${VAR##pattern}, ${VAR%pattern}, ${VAR%%pattern}
  • Pattern replacement: ${VAR/pattern/replacement}, ${VAR//pattern/replacement}
  • Case modification: ${VAR^}, ${VAR^^}, ${VAR,}, ${VAR,,}
  • Indirection: ${!VAR}
  • Arrays: ${arr[@]}, ${arr[*]}, ${arr[n]}, ${#arr[@]}

Summary

Types

Pending variable assignments from expansions like ${VAR:=default}

Functions

Expand a parameter with optional operations. Returns {expanded_value, pending_assignments}.

Types

pending_assignments()

@type pending_assignments() :: JustBash.Interpreter.Expansion.pending_assignments()

Pending variable assignments from expansions like ${VAR:=default}

Functions

expand(bash, parameter_expansion)

Expand a parameter with optional operations. Returns {expanded_value, pending_assignments}.