Background Knowledge
Mac
's OS
=Operation System
- old ones called:
OS X
- such as your
OS X Mavericks
- now called:
macOS
for any macOS, normally have built-in a console application, called Terminal
- look like this (My here is Chinese name:
终端
)
Can somebody please walk me through the steps to get that to work on OS X Mavericks, assuming no Unix knowhow?
Steps to add environment variable in MacOS
Simple
- use terminal to add
export JAVA_HOME=/your/path
to your launch script
bash
's ~/.bash_profile
- or
zsh
's ~/.zshrc
Detail
open terminal
Launch Pad
-> Terminal
look like this:

prepare boot script
then make sure you already have your boot script
for basic and common case is:
you are using bash, related boot script is ~/.bash_profile
➜ ~ ls -lh ~/.bash_profile
-rw-r--r-- 1 crifan staff 461B 10 28 2021 /Users/crifan/.bash_profile
if can not found, you can create one:
touch ~/.bash_profile
add your environment variable into your boot script
then you can edit the boot script ~/.bash_profile
using text editor, such as vi
/ vim
/ nano
/ echo
here use most simple:
echo "export JAVA_HOME=/your/path" >> ~/.bash_profile
here is my output for you refer:
(using cat
to print file content to verify is ok)
➜ ~ cat ~/.bash_profile
export THEOS=/opt/theos
export PATH=$PATH:$THEOS/bin
export THEOS_MAKE_PATH=$(THEOS)/makefiles
export THEOS_BIN_PATH=$(THEOS)/bin
export THEOS_LIBRARY_PATH=$(THEOS)/lib
export THEOS_VENDOR_LIBRARY_PATH=$(THEOS)/vendor/lib
export THEOS_INCLUDE_PATH=$(THEOS)/include
export THEOS_VENDOR_INCLUDE_PATH=$(THEOS)/vendor/include
export THEOS_FALLBACK_INCLUDE_PATH=$(THEOS)/include/_fallback
export THEOS_MODULE_PATH=$(THEOS)/mod
export THEOS_SDKS_PATH=$(THEOS)/sdks
➜ ~ echo "export JAVA_HOME=/your/path" >> ~/.bash_profile
➜ ~ cat ~/.bash_profile
export THEOS=/opt/theos
export PATH=$PATH:$THEOS/bin
export THEOS_MAKE_PATH=$(THEOS)/makefiles
export THEOS_BIN_PATH=$(THEOS)/bin
export THEOS_LIBRARY_PATH=$(THEOS)/lib
export THEOS_VENDOR_LIBRARY_PATH=$(THEOS)/vendor/lib
export THEOS_INCLUDE_PATH=$(THEOS)/include
export THEOS_VENDOR_INCLUDE_PATH=$(THEOS)/vendor/include
export THEOS_FALLBACK_INCLUDE_PATH=$(THEOS)/include/_fallback
export THEOS_MODULE_PATH=$(THEOS)/mod
export THEOS_SDKS_PATH=$(THEOS)/sdks
export JAVA_HOME=/your/path
➜ ~
[optional] make variable take effect immediately
normally above is ok. but if you want to let your added environment variable take effect immediately, you can use:
source ~/.bash_profile
then can use echo
to verify worked
➜ ~ source ~/.bash_profile
....
➜ ~ echo $JAVA_HOME
/your/path
appendix
the full log for refer:
➜ ~ ls -lh ~/.bash_profile
-rw-r--r-- 1 crifan staff 461B 10 28 2021 /Users/crifan/.bash_profile
➜ ~ cat ~/.bash_profile
export THEOS=/opt/theos
export PATH=$PATH:$THEOS/bin
export THEOS_MAKE_PATH=$(THEOS)/makefiles
export THEOS_BIN_PATH=$(THEOS)/bin
export THEOS_LIBRARY_PATH=$(THEOS)/lib
export THEOS_VENDOR_LIBRARY_PATH=$(THEOS)/vendor/lib
export THEOS_INCLUDE_PATH=$(THEOS)/include
export THEOS_VENDOR_INCLUDE_PATH=$(THEOS)/vendor/include
export THEOS_FALLBACK_INCLUDE_PATH=$(THEOS)/include/_fallback
export THEOS_MODULE_PATH=$(THEOS)/mod
export THEOS_SDKS_PATH=$(THEOS)/sdks
➜ ~ echo "export JAVA_HOME=/your/path" >> ~/.bash_profile
➜ ~ cat ~/.bash_profile
export THEOS=/opt/theos
export PATH=$PATH:$THEOS/bin
export THEOS_MAKE_PATH=$(THEOS)/makefiles
export THEOS_BIN_PATH=$(THEOS)/bin
export THEOS_LIBRARY_PATH=$(THEOS)/lib
export THEOS_VENDOR_LIBRARY_PATH=$(THEOS)/vendor/lib
export THEOS_INCLUDE_PATH=$(THEOS)/include
export THEOS_VENDOR_INCLUDE_PATH=$(THEOS)/vendor/include
export THEOS_FALLBACK_INCLUDE_PATH=$(THEOS)/include/_fallback
export THEOS_MODULE_PATH=$(THEOS)/mod
export THEOS_SDKS_PATH=$(THEOS)/sdks
export JAVA_HOME=/your/path
➜ ~ source ~/.bash_profile
...
➜ ~ echo $JAVA_HOME
/your/path

~/.zshrc
as shown here.