I am not sure about correct way to export PATH

I have Java and Springboot cli added to PATH however, when source /etc/profile it gives error.

And on restarting PC, BASH is not loading.

My export in /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

export SPRING_HOME=/home/jacobd/spring-2.7.0/bin
export PATH=$SPRING_HOME/bin

Can anyone guide, where I am doing wrong.

Asked By: Paul Bradbury


There is no actual error in the code that you show that would provoke source to report an error, so it’s unfortunate that you don’t mention what that specific error message says. The file does, however, contain a problematic typo (?) that would make it difficult to use the shell after sourcing it.

On that last line, you throw away the old value of PATH and replace it with $SPRING_HOME/bin. The effect of this is that the shell will only find external executables in that single path while ignoring all the standard paths.

I’m assuming you want to append that new path to the PATH variable in a similar way as is done on the 2nd line of the code that you show, rather than replace the old value.


Note that after exporting a variable, it remains exported, so there’s no need to export it again (unless you explicitly unset it).

Answered By: Kusalananda
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.