Подстановка команды вызывает нормальный вызов интерпретатора оболочки, и этот интерпретатор запускает команду echo
в подпроцессе
.
Подпроцесс
необходим, поскольку оболочке необходимо установить канал
для команды echo
, чтобы иметь возможность читать результаты.
Подпроцесс
, который запускает команду echo
, создается fork ()
, и это создает копии всех переменных из основного процесса оболочки. Вот почему $ b
доступен с помощью команды echo
.