* Function-calls are not inherently run in subshells.
** 関数内での変数の修正は通常、関数を呼び出したコードから ''見え''ます。
* Bash variables that are exported into the environment are scoped to the shell that contains them, including any subshells ''or child processes'' in that shell.
** The <tt>export</tt> built-in command can be used to export a variable into the environment. (There are other ways as well, but this is the most common way.)
** They differ from non-exported variables only in that they are visible to child processes. In particular, they are still not visible to parent shells or parent processes.
* External Bash scripts, like other external programs, are run in child processes. The <tt>.</tt> or <tt>source</tt> built-in command can be used to run such a script internally, in which case it's not inherently run in a subshell.
To this we now add: