Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在modulefile中使用bash变量_Bash_Environment Variables_Modulefile - Fatal编程技术网

在modulefile中使用bash变量

在modulefile中使用bash变量,bash,environment-variables,modulefile,Bash,Environment Variables,Modulefile,我正在尝试编写一系列modulefile,可用于在集群设置中加载每个用户帐户下安装的软件。由于该软件是在类似的路径下每人安装的,直到用户名更改为止,所以我尝试在modulefile中动态设置基本路径值 例如,如果我可以使用绝对路径,那么我将设置一个BASEPATH,如下所示: #%Module1.0##################################################################### ## ##libevent 2.1.11 设置应用程序lib

我正在尝试编写一系列
modulefile
,可用于在集群设置中加载每个用户帐户下安装的软件。由于该软件是在类似的路径下每人安装的,直到用户名更改为止,所以我尝试在modulefile中动态设置基本路径值

例如,如果我可以使用绝对路径,那么我将设置一个
BASEPATH
,如下所示:

#%Module1.0#####################################################################
##
##libevent 2.1.11
设置应用程序libevent
设置版本2.1.11
模块whatis“加载必要的“$app-$version”库路径”
设置BASEPATH/usr/local/packages/dev/$app/$version
前置路径LD_库_路径$BASEPATH/lib
前置路径LD_运行_路径$BASEPATH/lib
前置路径--delim“LDFLAGS”-L$BASEPATH/lib
前置路径--delim“CPPFLAGS”-I$BASEPATH/include
前置路径--delim“CFLAGS”-I$BASEPATH/include
但是,在我的例子中,我需要
BASEPATH
变量为:

set BASEPATH/home/${USER}/software/$app/$version
其中,
$USER
将扩展到当前用户名

不幸的是,在加载模块时,我收到:

libevent/2.1.11(15):错误:102:Tcl命令执行失败:
设置BASEPATH/home/${USER}/software/$app/$version

结果表明,通过使用TCL语言的

因此,在我的情况下,我将使用:

set BASEPATH/home/$::env(用户)/软件/$app/$version
或者,相当于

set BASEPATH$::env(HOME)/software/$app/$version