ЗАМЕНЫ
Замена выполняется в командной строке после разбиения ее на слова. Выполняется семь видов замен: замена выражений в фигурных скобках, замена тильды, подстановка значений переменных и параметров, подстановка результатов выполнения команд, подстановка значений арифметических выражений, разбиение слов и подстановка имен файлов.
Замена выполняется в следующем порядке: замена выражений в фигурных скобках, замена тильды, подстановка значений переменных, параметров, арифметических выражений и результатов выполнения команд (слева направо), разбиение слов и подстановка имен файлов.
В системах, где это может поддерживаться, выполняется дополнительная замена - подстановка процессов.
Только замена выражений в фигурных скобках, разбиение слов и подстановка имен файлов может изменить количество слов в командной строке; при других заменах одно слово просто заменяется другим. Единственное исключение - подстановка "$@" и "${имя[@]}", как объяснялось выше (см. раздел "").