JustBash.Interpreter.Expansion.Parameter (JustBash v0.4.0)
View SourceParameter 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
@type pending_assignments() :: JustBash.Interpreter.Expansion.pending_assignments()
Pending variable assignments from expansions like ${VAR:=default}
Functions
@spec expand(JustBash.t(), JustBash.AST.ParameterExpansion.t()) :: {String.t(), pending_assignments()}
Expand a parameter with optional operations. Returns {expanded_value, pending_assignments}.