Терминал не очень актуален. Ваш вопрос, кажется, подразумевает, что все команды пишут непосредственно в терминал, а затем подстановка команд каким-то образом «копирует» то, что было записано в переменную.
Все наоборот: команды пишут в стандартный вывод , который является некоторым файлом, команда получает от того, кто запускает команду. Стандартный вывод для интерактивной оболочки - это терминал, но подстановка команд переопределяет его, заставляя оболочку захватывать вывод в памяти, а затем использовать этот вывод для установки значения переменной.