我认为这是很基本的,但是似乎有些根本性的东西我并没有理解。非常感谢任何解释。
当我在命令行上执行此操作时:
$ export MYPATH=$HOME/somepath/something
$ echo $MYPATH
我得到/home/myname/somepath/something
的期望值。
但是当我在脚本中拥有它时,它看起来像这样:
MYPATH=$HOME/somepath/something
source $MYPATH -whatever
我收到一条错误消息
/bin/sh: $HOME/somepath/something: No such file or directory
但是当我在MYPATH=/home/myname/somepath/something
这样的脚本中对完整路径进行硬编码时,它就可以正常工作。
很显然,它并没有扩展$HOME
变量,但是我一直在使用Google搜索,似乎无法弄清楚原因或正确方法。我不希望对路径进行硬编码,因为不同的用户将使用此脚本,而这就是使用$HOME
变量的全部意义,对吧?
在此先感谢您的帮助!