Когда ты открываешь терминал - ты запускаешь shell (чаще Bash/Zsh).
Но если ты пишешь команды в круглых скобках:
$ (pwd; ls)
➡️ ты создаёшь subshell - дочернюю оболочку, которая выполняет команды в изоляции от родительского shell.
✅ Subshell не ломает текущую сессию
Любые изменения внутри него не влияют на основной терминал:
-
cd внутри subshell не меняет текущую папку в родительском shell- переменные и
export могут “не выйти наружу”- окружение как бы временное
🔥 Где это реально полезно:
1) Безопасно выполнить набор команд
Ты можешь сделать пачку действий и не бояться, что они поменяют текущее окружение.
2) Локальная логика
Хочешь переехать в папку, что-то сделать и вернуться назад? Subshell идеа
blog.sysxplore.com/p/what-are-subshells-in-linux
