【问题标题】:Import a path defined in bashrc to perl script将 bashrc 中定义的路径导入 perl 脚本
【发布时间】:2013-06-30 04:23:41
【问题描述】:

我在 .bashrc 文件中定义了一个路径(比如 $MYPAT),我想在 perl 脚本中使用它,这样我就可以在脚本中编写 open(IN, "<$MYPAT/dir1/..。如何导入此变量以在我的脚本中直接使用它?

我猜这里How to use aliases defined in .bashrc in shell script 发布了同样的问题,但适用于 perl。

谢谢!

【问题讨论】:

    标签: perl path environment-variables


    【解决方案1】:

    假设$MYPAT 是在您的.bashrc 中定义的环境变量,您可以使用perl 中特殊的%ENV 哈希来访问它,其中包含您进程的所有环境变量。请参阅perlvar 中的%ENV

    my $path = $ENV{MYPAT};
    

    另外,作为文体说明:

    1. 您应该使用词法文件句柄而不是全局句柄
    2. 您应该使用 open 的三参数形式。

    所以不是

    open(IN, "<$path/dir1/...") 
    

    做到这一点

    open my $fh, '<', "$path/dir1/..." or die "yadda yadda";
    

    【讨论】:

    • 感谢您的建议,我会应用您的说明。如果使用open my $fh, '&lt;',...,我应该将while(&lt;IN&gt;){更改为while(&lt;&gt;){吗?
    • 改成while(&lt;$fh&gt;)
    【解决方案2】:

    每项工作都有很多模块,使之成为可能。 我认为 CPAN 中的这个模块会对您有所帮助,只需阅读一些文档即可。

    Shell::Source
    

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-25
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      相关资源
      最近更新 更多