Одна вещь, которая действительно хороша в оболочке linux bash, заключается в том, что вы можете определять переменные внутри подоболочки, и после того, как эта подоболочка завершает работу, переменные (среда?), определенные внутри, просто исчезают, если вы определяете их без их экспорта и внутри подоболочки.
Например:
$ (set bob=4)
$ echo $bob
$
Переменная не существует, поэтому нет вывода.
Я также недавно писал несколько сценариев powershell и заметил, что мне все время приходилось обнулять мои переменные/объекты в конце сценария; использование эквивалента подоболочки в powershell прояснило бы это.