标签: environment-variables

如何指定root的环境变量?

我做 Rails 开发。在这个应用程序中,我需要指定环境变量LD_LIBRARY_PATH = /usr/local/oracle/lib,但是当我使用 sudo 脚本/服务器运行应用程序时,它不会运行,因为该库路径不在 root 的 env 中。

我该怎么做才能让它发挥作用?我试图将路径放在根目录下./bashrc,但没有用。

root bashrc sudo environment-variables

4
推荐指数
2
解决办法
3万
查看次数

仅为一个 shell 命令临时设置 ENV 变量?

是否可以只为一个 shell 命令设置一个 ENV 变量(即在命令执行后立即过期)?

例如:

export VERSIONER_PYTHON_PREFER_32_BIT=yes
winpdb
Run Code Online (Sandbox Code Playgroud)

我想将我的系统设置为仅针对此命令使用 32 位 Python,然后返回到 64 位。也许像

VERSIONER_PYTHON_PREFER_32_BIT=yes; winpdb
Run Code Online (Sandbox Code Playgroud)

谢谢!

python shell environment-variables

4
推荐指数
1
解决办法
4069
查看次数

4
推荐指数
1
解决办法
2万
查看次数

Windows 环境变量和手动注册表编辑 - 无/错误值问题

打开regedit.exe,导航到HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment。创建两个环境变量:

Name   Type            Data
-----  --------------  -----------
zbar   REG_SZ          water
zfoo   REG_EXPAND_SZ   %zbar%
Run Code Online (Sandbox Code Playgroud)

打开新的cmd.exepowershell.exe或者什么。缺少这些变量。注销,然后登录。在cmd.exe窗口类型echo %zbar%-water显示。键入echo %zfoo%%zbar%已显示,但我希望看到扩展值 - water

现在。打开 Windows环境变量对话框。更改或创建任何变量(例如zzz=zzz)。重新打开cmd.exe并输入echo %zfoo%- 现在您看到了water

实际上,我正在使用 PowerShell 脚本创建这些变量。但是这个脚本所做的只是描述了注册表操作。

问题:

  1. 如何zfoo通过打开 Windows环境变量对话框并更改一些变量来强制变量具有正确的值而没有这种魔力?也许我应该调用一些 API,比如[Microsoft.Win32.Registry]::Refresh()
  2. 是否可以在不需要注销/登录操作的情况下使这些变量对用户可见?如果我编辑用户级环境变量(也在注册表中),它们会立即可用,但对于全局变量——它们不是。

谢谢。

windows environment-variables

4
推荐指数
1
解决办法
4219
查看次数

如何防止 Apache/PHP 在 phpinfo() 中显示环境变量部分?

我需要防止用户使用 phpinfo() 意外暴露存储在环境变量中的私有数据。有没有办法配置 apache 或 php.ini 以禁止使用 phpinfo 呈现的部分?

php environment-variables php.ini apache-2.2

4
推荐指数
1
解决办法
3267
查看次数

本地系统服务是否会在不重新启动的情况下通知 Windows 2008 R2 中环境变量的更改?

Microsoft 有一篇知识库文章,最后一次审查是在 2007 年 6 月,其中指出:

如果您更新环境变量或添加新的环境变量,您必须在您所做的更改影响在本地系统帐户下运行的服务之前重新启动计算机。

我不清楚这是否适用于 Windows Server 2008 R2。任何人都可以建议吗?

我注意到Windows 2003一个修补程序可以解决这个问题。因此,我想知道 2008 R2 是否已推出此修复程序。我找不到任何证据表明 Windows 2008 R2 仍然存在问题,但与相反的具体陈述相比,缺乏证据更令人欣慰。

一个相关的问题涵盖了类似的领域,但不讨论 Windows 2008。

windows-service environment-variables local-system windows-server-2008-r2

4
推荐指数
1
解决办法
3846
查看次数

在 haproxy.cfg 中使用 HaProxy 环境变量不起作用

试图弄清楚为什么 haproxy.cfg 中的环境变量在 HA-Proxy 版本 1.5.2 中不起作用

在命令行上,使用 Printenv 我得到了一个环境变量列表,比如 FE_PORT_8000_TCP_ADDR=172.17.0.4

我需要在 haproxy.cfg 中使用它。根据this和文档 How can I use environment variables in haproxy.conf using $FE_PORT_8000_TCP_ADDR or ${FE_PORT_8000_TCP_ADDR} 应该可以工作。然而,这是行不通的。

在 Haporxy.cfg 硬编码确实有效,并在浏览器中访问它按预期显示:

backend FE
   # balance     roundrobin
    server      FE1 172.17.0.4:8000  maxconn 256
Run Code Online (Sandbox Code Playgroud)

但是具有相同假定值的环境变量没有,在浏览器中它给出 503 Service Unavailable。

backend FE
   # balance     roundrobin
    server      FE1 $FE_PORT_8000_TCP_ADDR:8000  maxconn 256
Run Code Online (Sandbox Code Playgroud)

关于做错了什么的任何想法?

更新:这个人有同样的问题 如何在 haproxy.conf 中使用环境变量

environment-variables haproxy

4
推荐指数
1
解决办法
1万
查看次数

如何使用 AcceptEnv 配置环境变量

在 /etc/ssh/sshd_config 中,有一个名为 AcceptEnv 的选项,它允许 ssh 客户端发送环境变量。我需要能够发送大量环境变量,我该怎么做?

linux ssh environment-variables

4
推荐指数
1
解决办法
3359
查看次数

在组策略首选项中使用“客户端站点名称”

在 Active Directory 中,您可以将 IP 地址映射到客户端站点。

在此处输入图片说明

...然后您可以将组策略对象映射到站点。

在此处输入图片说明

这很好,但我有一个增长迅速的客户,他们希望在未来一两年内拥有数百个站点。

我们的命名标准大致基于 LOCODE,因此每个站点都是 7 个字符——例如“USHQZOF”。该前缀用于命名每台机器。

我已经厌倦了到处制定相同的基本政策。

它字面上遵循以下格式:

  • 将驱动器 O 映射到 \\USHQZOFSRV01\officeshare
  • 将主打印机映射到 \\USHQZOFSRV01\copier

如果我可以制定一项政策,我可以说:

  • 将驱动器 O 映射到 \\(site-name-from-ad)SRV01\officeshare
  • 将主打印机映射到 \\(site-name-from-ad)SRV01\copier

......并永远完成它。

看来您可以在组策略首选项 ( https://technet.microsoft.com/en-us/library/Cc753915.aspx ) 中使用大量环境变量,但我没有看到客户端站点名称的任何内容。

我是运气不好,还是我需要去“老派”并在登录期间调用一个 cscript/vbscript 文件来查找它并映射适当的项目?

(编辑:我知道它可以用 VBS 文件完成——我以前做过。它看起来……不干净……)

active-directory group-policy environment-variables

4
推荐指数
1
解决办法
825
查看次数

如何从sudo用户检查root环境变量?

如何从 sudo 用户检查 root 环境变量?我尝试了 su 和 sudo 的各种键和组合,但没有运气。

比如普通用户$HISTFILESIZE=2000,root用户9999。

vagrant@default-debian-78-64-nocm:~$ echo $HISTFILESIZE
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i
root@default-debian-78-64-nocm:~# echo $HISTFILESIZE
9999
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过 sudo 获取 root $HISTFILESIZE 时 - 它总是返回 2000:

vagrant@default-debian-78-64-nocm:~$ sudo -i echo $HISTFILESIZE
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i su - -c "echo $HISTFILESIZE"
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i bash -c "echo $HISTFILESIZE"
2000
vagrant@default-debian-78-64-nocm:~$ sudo -i bash -l -c "echo $HISTFILESIZE"
2000
Run Code Online (Sandbox Code Playgroud)

bash sudo environment-variables

3
推荐指数
1
解决办法
1403
查看次数