макропроцессор  (macro processor)
  
Обоснование (Rationale)
Historic System V-based behavior treated "${" in a macro
       definition as two literal characters. However, this sequence is
       left unspecified so that implementations may offer extensions
       such as "${11}" meaning the eleventh positional parameter. Macros
       can still be defined with appropriate uses of nested quoting to
       result in a literal "${" in the output after rescanning removes
       the nested quotes.
       In the translit built-in, historic System V-based behavior
       treated '-' as a literal; GNU behavior treats it as a range. This
       version of the standard allows either behavior.