Shell scripts use:
name="Alice"
echo "$name"
${var:-default}: use default if unset/empty${var:?message}: error if unset/empty${#var}: length${var%pattern} / ${var%%pattern}: trim suffix${var#pattern} / ${var##pattern}: trim prefixAPI_TOKEN="secret" # shell variable
export API_TOKEN # becomes environment variable for children
PATH: command lookup pathHOME: user home directoryPWD: current directorySHELL: login shellLANG / LC_*: locale settingsTERM: terminal type./script.sh: runs in a new process; variable changes do not persistsource script.sh or . script.sh: runs in current shell; changes persistitems=("a" "b c" "d")
printf '%s\n' "${items[@]}"
readonly for constants: readonly APP_NAME="code-memo"declare -r / declare -a / declare -A when clarity helps