Search code examples
linuxbashshelltilde-expansion

tilde expansion in environment variable


In my .sh file, I have this, cp $file $SOME_PATH, while $SOME_PATH is exported as export SOME_PATH="~/path/to/path/". But when I ran this .sh file, I got error message saying like no such "~/path/to/path/" exists. I replaced ~ as $HOME, then the error was gone. So what's up here with the tilde?

Thanks in advance.


Solution

  • use

    SOME_PATH=~/path/to/path/
    

    if you path have spaces, quote it

    SOME_PATH=~/"path with spaces"