I have Mathematica 8 installed on my OS X Mountain Lion laptop. I want to set my PATH so that I can run either MathematicaKernel or Mathematica from the command line. To this end I have configured my .bash_profile so that it reads:

$MAC_Mma="/Applications/Mathematica\ Home\ Edition.app/Contents/MacOS/"
export PATH=/opt/local/bin:/Users/comerduncan/newipython/ipython/build/scripts-2.7/:/Users/comerduncan:/Users/comerduncan/Sandbox/sympy/sympy/:$MAC_Mma:$PATH

When the .bash_profile file is read when the terminal is created and I try to execute MathematicaKernel, no such executable is found. However, if I create an alias:

alias math='/Applications/Mathematica\ Home\ Edition.app/Contents/MacOS/MathKernel'

in the .bash_profile file, then when I run math the kernel starts up as usual.

Alas, this alias way does not fit my need in another case where a bash script is run which needs to find the MathematicaKernel in the path. SO, my question is why does the alias way work and my way via the PATH not work?

1 Answer 1


Stop using backslashes in your variables, and start quoting them.

foo="/path/that/has some spaces"
  • Thanks for your help. I must admit that I am usually a csh person but have recently finally tried to switch to bash. So my inexperience with bash is showing! Your suggestion works fine. In fact, I have subsequently repaired a non working bash script which needs MathKernel to do a bunch of processing. So now I can do what I need. Comer
    – user27210
    Aug 10, 2012 at 21:14

You must log in to answer this question.