在Linux脚本中使用Linux环境variables作为path

我试图使用一个环境variables指向一个文件,通过一个子程序运行它,并将其与variables关联。 我用Windowspipe理它,但我无法得到Linux的语法工作。

这是我的:

my $config = read_config("$ENV{APP_HOME}/config/APP-linux.cfg"); 

我的脚本在到达这条线路时发生错误:

  Use of uninitialized value $ENV{"APP_HOME"} in concatenation (.) or string at ./XXXXX.pl 

APP_HOME被定义为一个环境variables(使用set确认)。 我究竟做错了什么?

在bash中, =简单地创建一个shell变量。 这些不会自动导出到环境中。 你需要明确地做到这一点。

设置一个shell变量:

  $ AA=hello 

设置和导出另一个(在一个语句中):

  $ export BB=there 

开始一个新的过程:

  $ bash 

瞧! 只有导出的变量被新进程继承:

  $ echo "[$AA] [$BB]" [] [there] 

请注意set不会设置变量。 set AA=hello不会做什么Windows外壳。

好的,解决方案是我自己的愚蠢。 我使用下面的代码在.bashrc中设置变量:

 APP_HOME=$HOME/APP/DATA/STORAGE; export FINE_DIR 

RAPID_DIR无权在那里。 是复制/粘贴和监督不力的其余部分…将FINE_DIR更改为APP_HOME,并且都是好的。

谢谢所有的指导!