在分配给另一个变量的bash变量扩展

时间:2018-12-18 20:24:46

标签: bash

我认为这是很基本的,但是似乎有些根本性的东西我并没有理解。非常感谢任何解释。

当我在命令行上执行此操作时:

$ 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变量的全部意义,对吧?

在此先感谢您的帮助!

0 个答案:

没有答案