linux - shebang中linux系统变量的使用

标签 linux perl 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

最佳答案

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

怎么样:

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

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

例如

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

关于linux - shebang中linux系统变量的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28768883/

相关文章:

linux - 如何在没有密码的情况下以另一个用户身份运行脚本?

Java 11 : Executing Source File via Shebang is not working

linux - Shebang 多个参数

web-services - Catalyst:安全下载日志文件

python - 如何使 python 脚本在 Windows 上可执行?

linux - 如何在 Redhat Linux 中设置 Lumberjack(logstash 转发器)

linux - 在 Debian 中,守护进程会在文件系统的哪个位置提供动态测量结果?

JavaFX 60 fps 帧速率上限不起作用

perl - 在 Perl/Moose 中,如何将修饰符应用于所有子类中的方法?

Perl:您如何将其转换为子程序?