回答
您的意思是“profile”的具体含义?
如果您的意思是“检索您的shell通过.profile设置的shell环境变量的值”,那么是的 - 您可以通过特殊的%ENV
哈希来完成。
如果你的意思是“像在shell中一样读取在.profile中设置的实际变量”,这是可能的,但要做到“正确”则需要解析任意shell脚本并清理任何非环境变量赋值, "
。 〜/ .profile中; env`“`并解析输出
如果您的意思是”为通过单独配置文件运行的任何Perl程序提供通用配置“,则需要将代码添加到这些Perl程序中以读取此配置文件用于读取各种配置文件)一些CPAN模块。
如果你的意思是“提供一个通用的配置,运行没有这些Perl程序任何特殊代码来读取一个单独的配置文件中的任何Perl程序,排序就像任何shell脚本从shell中获取.profile的东西一样“,那么asnwer就是”可能“。你可以利用PERLOPT
环境变量来提供可以加载特殊模块的选项(通过-I)cont确定通过其“import()”设置的配置。 尽管有些可行,但我强烈建议不要使用,这似乎是一个可怕的黑客攻击。
$u=`echo -n ~user`; open F, "<$u/.profile" || die; while(<F>) {print}
如果您有(或其他配置通过设立)一个shell脚本bash的配置值,并希望这样的生效只是一个程序的一次执行的时间,你可以使用一个子shell:
(source ~/my_bash_file.sh; perl my_perl_script.pl)
可以使用%ENV
哈希(见Perl的特殊变量的指标,perldoc perlvar)访问的Perl shell环境变量:
my $user = $ENV{USER};
my $home_dir = $ENV{HOME};
实施例:
my_bash_file.sh:
#!/bin/bash
export HOME="/home/nowhere"
my_perl_script.pl:
#!/usr/bin/perl
print "the value of HOME is $ENV{HOME}\n";
当作为perl my_perl_script.pl
,my_perl_script执行。PL打印:
HOME的值是/ home /醚
当作为(source ~/my_bash_file.sh; perl my_perl_script.pl)
执行时,所述输出为:
HOME的值是/ home /不通
Env::Sourced应该做你所需要的。
use Env::Sourced qw(~/user/profile);
print $ENV{VARAIBLE};
- 1. 有没有办法在Python中重新加载“当前”文件?
- 2. 有没有办法在java中加载gz文件?
- 3. 有没有办法在Protractor的配置中定义本地配置文件?
- 4. 有没有办法从流中加载Crystal Report 9.0文件?
- 5. 有没有办法让JavaScript文件在AIR中加载另一个文件?
- 6. 有没有办法在javaFX中加载Eclipse RCP插件?
- 7. Mixpanel:有没有办法链接到用户配置文件?
- 8. 有没有办法用不同的配置文件运行NUTCH?
- 9. magento:有没有办法使用cron“运行配置文件”?
- 10. 有没有办法让配置“递归”?
- 11. 有没有办法加载关于分辨率的CSS文件?
- 12. 有没有办法不加载jQuery?
- 13. 有没有办法在DataSource配置中设置时区为UTC
- 14. 有没有办法在python中重载+ =?
- 15. 有没有办法通过配置文件配置Serilog子记录器?
- 16. 有没有办法在Apache中预加载代码在PHP中?
- 17. 有没有办法检查Apache配置文件中是否存在目录?
- 18. xcode 4 - 有没有办法在配置文件中回显内容?
- 19. 有没有办法在Silverlight中没有Webclient的情况下下载文件?
- 20. 有没有办法在设计时从ini文件中加载TSQLConnection参数?
- 21. 有没有办法将大文本文件逐行加载到kdb中?
- 22. 有没有办法配置OpenSSL或boost :: asio :: ssl不加密?
- 23. 有没有办法在Hadoop中配置推测执行超时?
- 24. 有没有办法在JAXB中配置渲染深度?
- 25. 有没有办法在md-sidenav中配置show-hide速度?
- 26. 有没有办法知道从UniversalLoader加载图像的位置?
- 27. 有没有办法从卸载程序文件中禁用autouninstaller?
- 28. 有没有办法在Nginx配置里设置一个变量?
- 29. 有没有办法使用Visual Studio配置管理器将配置文件从env文件夹中取出?
- 30. 配置文件的单元测试过程中没有加载
Perl不是shell解释器。为了让这个问题变得有意义,你需要解释一下你正在尝试阅读的.profile的哪些方面。 – 2010-04-19 20:40:08