- name=value (one or more) without a command sets variables of the shell
- name=value before a command sets them only in its environment (for
builtins only while they run)
- an assignment needs an unquoted name and =; the value is not split
and not expanded as wildcard or brace pattern, ~ is expanded after =
and :
- the status of an assignment is the one of its last $(...)
- new builtin unset
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>