在shebang中使用linux系统变量

时间:2015-02-27 15:43:12

标签: linux perl shebang

我尝试将带有perl脚本的外部用户文件夹包含到我的常规perl脚本中。我如何使用linux系统变量用户($ {USER})来包含这些脚本? 我试图将此变量简单地添加到脚本的第一行,但该变量未解析。

示例:

#!/usr/bin/perl -I /tmp/userSpecificFolder-${USER}/anotherFolder/AndAnotherFolder/AndSoOn

这一行的输出正是我上面写的,但它应该是

#!/usr/bin/perl -I /tmp/userSpecificFolder-CurrentUserName/anotherFolder/AndAnotherFolder/AndSoOn

1 个答案:

答案 0 :(得分:6)

正如您所发现的,操作系统对命令行的解析非常有限。

怎么样:

use lib "$ENV{'USER'}/anotherfolder/something/doodah";

您可能还会发现FindBin很有用,因为它允许您根据脚本位置指定相对路径。

e.g。

use FindBin;
use lib $FindBin::RealBin."/mods_dir";