Nic*_*eld 2 linux variables profile environment perl
我需要一些关于 perl 脚本的快速建议。我创建了一个脚本,它基本上调用了其他 perl 脚本和其中的许多其他 shell 脚本。我面临的问题只是试图通过设置一个环境变量来使其在通用级别上运行。
顺便说一下,这是在 linux RHEL/CentOS 上...
所以我将我的变量添加到 .bash_profile 并且如果我首先手动获取文件,然后运行我的 perl 脚本,它可以正常工作!这是,好的,但我希望脚本自动化这部分,而不是需要额外的手动采购步骤。
所以我的脚本看起来像这样......简而言之
#!/usr/bin/perl
use warnings;
use strict;
`/bin/bash ~/.bash_profile`;
blah blah blah more code etc;
Run Code Online (Sandbox Code Playgroud)
启动主脚本(这部分代码所在的位置)时,它没有问题。这是对其他脚本的所有后续调用都失败了……就好像它没有将变量传递给其他脚本一样。
有任何想法吗??
谢谢,
$ENV{"name"}=...。然后这些变量将自动传播到从 perl 脚本中启动的任何程序,无论是 perl 脚本还是 shell 脚本$ENV. 这很容易出错,因为可能有多种方法来声明变量。env之后调用。然后你读取并解析这个 shell 的输出。这与之前的提议类似,但你必须解析的输出定义更明确。