lhunath 1217497054 learn There are two kinds of variables: Environment Variables and Bash Parameters. Every process has the former; and they are passed on to child processes. Bash creates parameters for each env var it has, and with export you can link other bash parameters with env vars of the same name so that child processes inherit them. lhunath 1217497107 forget lhunath 1217497279 learn There are two kinds of variables: Environment Variables (''env'') and Bash Parameters (''set''). Every process has the former; and they are inherited by its children. Bash creates a parameter for each env var it has, and with ''export'' you can "link" other bash parameters to env vars of the same name. lhunath 1294762390 forget lhunath 1294762620 learn Environment Variables (`env`) are NOT the same thing as Bash Parameters (`set`). They are NOT GLOBAL (every process has their own set of env vars), and they are only ever copied from the PARENT to the CHILD when the child is FIRST CREATED. Bash lets you assign STRINGs to env vars by linking a parameter to the environment using `export`. lhunath 1315603163 forget lhunath 1315603239 learn Environment Variables (`env`) are NOT the same thing as Bash Parameters (`set`). They are NOT GLOBAL (every process has their own set of env vars), and they are only ever copied from the PARENT to the CHILD when the child is CREATED. You cannot UPDATE another process' variables. Bash lets you assign STRINGs to its own env vars by linking a parameter to its environment using "export". lhunath 1326190280 forget lhunath 1326190444 learn Environment Variables (`env`) are NOT the same thing as Bash Parameters (`set`). They are NOT GLOBAL (every process has their own set of env vars), and they are only COPIED from the PARENT when the child process is CREATED. You CANNOT UPDATE another process' variables. Bash lets you assign strings to its OWN env vars by linking a parameter with the same name to it using "export". lhunath 1326193610 forget lhunath 1326193618 learn Environment Variables (`env`) are NOT the same thing as Bash Parameters (`set`). They are NOT GLOBAL (every process has their own set of env vars), and they are only COPIED from the PARENT when the child process is CREATED. You CANNOT UPDATE another process' variables. Bash lets you assign strings to its OWN env vars by linking a parameter with the same name to it using "export". See lhunath 1326193643 forget lhunath 1326194072 learn Environment Variables (`env`) are NOT the same thing as Bash Parameters (`declare -p`). They are NOT GLOBAL (every process has their own), and they are COPIED from the PARENT when the child process is CREATED. You CANNOT UPDATE another process' variables. You can assign strings to your OWN environment by linking a parameter to it using "export". http://mywiki.wooledge.org/Environment lhunath 1391135188 forget lhunath 1391135193 learn #redirect vars lhunath 1393361335 forget lhunath 1393361605 learn There are two types of variables. Most variables in bash are Shell Variables (foo=bar). They live in the shell process that created them and are copied to subshells. Environment Variables (export foo=bar) are special variables that live in a process and are copied to each new process it creates. They are NOT system-wide or shared. http://mywiki.wooledge.org/Environment lhunath 1393436013 forget lhunath 1393436246 learn Bash has two types of variables. Shell Variables (foo=bar) live in the running shell and are copied to subshells. Environment Variables (export foo=bar) are special variables that live in a PROCESS and are copied to each new process it creates. They are used the same way but CREATED differently. Env vars are NOT system-wide or "shared" in any way. http://mywiki.wooledge.org/Environment kurahaupo 1606168704 forget kurahaupo 1606168709 learn The environment comprises the subset of variables that are exported, either permanently by the "export" statement or temporarily by prefix assignment. All variables are copied to subshells, but only exported variables are received by other programs; that is the ONLY effect of "export". It's intentionally not possible to modify variables in another process. http://mywiki.wooledge.org/Environment