linux 系统变量在 shebang 中的使用

Usage of linux system variable in the shebang

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

示例:

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

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

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

如您所见,OS 对命令行的解析非常有限。

怎么样:

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

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

例如

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