Alex Alex - 20 days ago 8
Bash Question

Global environment variables in a shell script

How to set a global environment variable in a bash script?

If I do stuff like

#!/bin/bash
FOO=bar


...or

#!/bin/bash
export FOO=bar


...the vars seem to stay in the local context, whereas I'd like to keep using them after the script has finished executing.

mob mob
Answer

Run your script with .

. myscript.sh

This will run the script in the current shell environment.

export governs which variables will be available to new processes, so if you say

FOO=1
export BAR=2
./runScript.sh

then $BAR will be available in the environment of runScript.sh, but $FOO will not.

Comments