首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Opsview_rest Perl脚本不能使用$ENV{var}找到OPSVIEW_URL_PREFIX环境变量,而它是在CentOS6上设置的?

为什么Opsview_rest Perl脚本不能使用$ENV{var}找到OPSVIEW_URL_PREFIX环境变量,而它是在CentOS6上设置的?
EN

Stack Overflow用户
提问于 2014-12-29 23:45:28
回答 1查看 211关注 0票数 1

Aim

目的是运行Opsview_rest Perl脚本。

尝试

尝试1

代码语言:javascript
复制
sudo /usr/local/nagios/bin/opsview_rest --username=admin --password=initial GET config/host/1

企图2

增加了Print语句以检查Perl脚本是否可以检索环境变量。

代码语言:javascript
复制
my $url_prefix = $ENV{OPSVIEW_URL_PREFIX} || "http://localhost";

print $url_prefix;
print $ENV{OPSVIEW_URL_PREFIX};
print $url_prefix;

预期结果

Opsview_rest Perl脚本调用环境变量OPSVIEW_URL_PREFIX并使用它执行脚本中的命令。

当前结果

目前的成果1

代码语言:javascript
复制
Can't connect to localhost:80 (Connection refused)

目前的成果2

尽管变量已被设置

代码语言:javascript
复制
[root@vm-one libexec]# echo $OPSVIEW_URL_PREFIX
http://localhost:3000

Perl脚本无法从环境中检索它。

代码语言:javascript
复制
[root@vm-one libexec]# sudo /usr/local/nagios/bin/opsview_rest --username=admin --password=initial GET config/host/1
http://localhosthttp://localhostCan't connect to localhost:80 (Connection refused)

LWP::Protocol::http::Socket: connect: Connection refused at /usr/local/nagios/bin/../perl/lib/LWP/Protocol/http.pm line 51.

Goto undefined subroutine &Carp::shortmess_real at /usr/share/perl5/Carp.pm line 41.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-30 05:45:31

调试这样的问题的一个好方法是将它们剥离到演示问题的最简单的东西上。

这里有一个perl“一行程序”,它表明@hobbs是正确的,sudo正在删除密码。

代码语言:javascript
复制
$ TESTY=foo sudo perl -le 'print "The value is $ENV{TESTY}..."'
The value is ...
$ TESTY=foo perl -le 'print "The value is $ENV{TESTY}..."'
The value is foo...

第一次尝试使用sudo运行,没有打印$TESTY,第二次尝试不使用sudo运行,环境变量通过很好。

现在,为了真正回答您的问题,因为sudo给了您根权限,而且由于环境变量可以以各种方式改变程序的行为,所以sudo在运行时非常努力地清理环境。这是unix,您可以改变行为。例如,-E标志可能适用于您,

代码语言:javascript
复制
$ TESTY=foo sudo -E perl -le 'print "The value is $ENV{TESTY}..."'
The value is foo...

有关它正在做什么的详细信息,特别是手册页的“安全备注”部分,请参见man sudo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27697669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档