我们已经在 Windows 2003 Server 上安装了 Oracle Express,并在此过程中更新了 PATH。我们试图让 IIS 在 PATH 中看到这种变化,但我们无法弄清楚。我们回收了应用程序池和 IIS 站点,但没有成功。有没有办法让它在不重新启动 IIS 的情况下识别?这是一个生产服务器,所以我们不想重置 IIS。
https://12factor.net/config 上的 devops 指南建议将网站机密(数据库密码、api 密钥等)放入环境变量中。与使用从版本控制中忽略的文本文件(JSON、XML、YAML、INI 或类似文件)相比,它有什么优势?
我发现复制带有机密的配置文件比处理 .bash_profile 和网络服务器配置中的环境变量要容易得多。我错过了什么吗?
在 中ssh_config,可以选择使用 将一些环境变量导出到主机SendEnv。
是否还有一种方法可以为每个主机强制此变量的给定值?例如,是否可以仅在连接到主机时导出$FOO带值的变量?barexample.com
据我所知,新运行的 shell 脚本继承了它的环境变量。有没有办法阻止这个?(运行没有变量继承的shell)
我目前使用 Kubernetes 规范Deployment.yaml来部署服务。该规范包括对特定 IP 地址的逐字引用(标记<static-ip-address>如下):
spec:
type: LoadBalancer
loadBalancerIP: <static-ip-address>
Run Code Online (Sandbox Code Playgroud)
我担心将密码或 IP 地址等信息推送到远程 Git 存储库中。我可以通过使用环境变量来避免这种情况,例如使用部署规范和实际部署大致如下:
spec:
type: LoadBalancer
loadBalancerIP: ${SERVICE_ADDRESS}
Run Code Online (Sandbox Code Playgroud)
和
export SERVICE_ADDRESS=<static-ip-address>
kubectl create -f Deployment.yaml
Run Code Online (Sandbox Code Playgroud)
显然,这种特定的语法还不起作用。但是这样的事情可能吗,如果有的话怎么办?
我宁愿不依赖单独的配置工具。Secret s 和ConfigMaps 看起来很有希望,但显然不能以适合此目的的方式使用它们。如果我可以直接引用用它定义的静态 IP 地址gcloud compute addresses create service-address,那就最好了。
是否有环境变量可以在基于 debian 的系统上设置临时目录?
我有一个使用该环境变量的 Java 小程序,并且在启动同一个小程序的两个实例时会感到困惑。
foreman 可以读取 .env 文件并从内容中设置环境变量,然后运行程序
例如 foreman run -e vars.env myprogram
...但它做了很多其他的事情(并且主要关注使用它的 Procfile 格式开始的事情)。
有没有更简单的(Linux/Unix)工具,它只专注于读取 .env 文件并在新环境中执行命令?
示例环境文件(来自http://ddollar.github.io/foreman/#ENVIRONMENT):
FOO=bar
BAZ=qux
Run Code Online (Sandbox Code Playgroud) 我的问题是,我必须在服务器上设置环境变量(如 GIT_EXEC_PATH)。我需要每个连接的变量(所以通过 bash 和远程命令)。我设法通过 bash 使用 .bash_profile 设置了这些变量,但是我在使用远程命令时遇到了问题。我发现可以在实际 rsa 密钥之前在 ~/.ssh/authorized_keys 中编写命令,但我不想总是在那里写,我需要一个永久的解决方案......我发现 ~/.ssh /rc 文件由每次 ssh 登录执行,所以我把我的 env 变量声明放在那里,但它没有用。变量在 rc 文件中设置,但之后它们消失了。:S 也许 rc 文件在子外壳中运行 :S 有没有办法在 bash 和远程命令中定义这些变量而无需重复代码?
编辑:
我编辑了这个问题,因为服务器是一个godaddy共享主机,所以它有一个独特的配置。/etc/ssh/sshd_config 和 /etc/ssh/ssh_config 文件是空的。这些文件中有注释,如果你好奇我可以复制到这里。
概括:
我可以很好地配置 bash(使用 .bash_profile),但我无法配置远程调用。那就是问题所在。我正在寻找一个由 bash 和远程命令提供的文件。
例如:
git-upload-pack 命令找到 exe 文件,因为设置了 GIT_EXEC_PATH 环境变量,但是使用 remote: "git clone user@domain.com:myrepo local/myrepo" 服务器找不到该命令,因为 GIT_EXEC_PATH未设置。
编辑2:
根据this和我的printenv 日志: …
我需要这样做:
在 linux 上,我们必须找到一些不在标准位置的动态库。我们必须将 $LD_LIBRARY_PATH 设置为 /path/to/sdk/lib
我如何在 Ubuntu 10.10 中做到这一点?
我有一个 Korn shell 脚本
#!/bin/ksh
# set the right ENV
case $INPUT in
abc)
export BIN=${ABC_BIN}
;;
def)
export BIN=${DEF_BIN}
;;
*)
export BIN=${BASE_BIN}
;;
esac
# exit 0 <- bad idea for sourcing the file
Run Code Online (Sandbox Code Playgroud)
现在这些 VAR 仅在子 shell 中导出,但我希望它们也设置在我的父 shell 中,所以当我在提示符下时,这些 var 仍然设置正确。
我知道
. .myscript.sh
Run Code Online (Sandbox Code Playgroud)
但是有没有办法在没有“采购”的情况下做到这一点?因为我的用户经常忘记“来源”。
EDIT1:删除“exit 0”部分 - 这只是我打字时没有先考虑
EDIT2:添加更多关于我为什么需要这个的细节:我的开发人员为(为了简单起见)2 个应用程序编写代码:ABC 和 DEF。每个应用程序都由不同的用户 usrabc 和 usrdef 在生产环境中运行,因此已经设置了他们的 $BIN、$CFG、$ORA_HOME 等等 - 特定于他们的应用程序。
所以