🐧 Linux / Shell Scripting
Advanced
How do you use brace expansion and parameter expansion in bash?
Answer
Brace expansion generates multiple strings: {a,b,c} → a b c; {1..5} → 1 2 3 4 5; file{.bak,.old,.tmp} → file.bak file.old file.tmp. Useful: mkdir -p app/{src,tests,docs}. Parameter expansion manipulates variable values: ${var:-default} (use default if unset/empty), ${var:=default} (assign default if unset), ${var:?error} (error if unset), ${var:+other} (use other if set). String operations: ${var#prefix} (strip shortest prefix), ${var##prefix} (strip longest), ${var%suffix} (strip shortest suffix), ${var%%suffix} (longest suffix), ${var/old/new} (replace first), ${var//old/new} (replace all), ${var^^} (uppercase), ${var,,} (lowercase), ${#var} (string length).