python - 在从配置脚本构建的可执行文件中嵌入环境变量
问题描述
我可以使用配置脚本在可执行文件中嵌入一些环境变量,以便在启动该可执行文件时自动设置一些特定的环境变量。
例如:当我们启动python3
可执行文件时,PYTHONPATH
会自动设置。或者在启动xyz.exe
时,XYZ
变量被设置。
解决方案
简单回答是不。您通常不能直接修改二进制可执行文件,或根据正在运行的特定可执行文件设置环境变量。许多工具和程序都有全面的命令行选项,允许您指定它应该如何运行,因此请确保您仔细阅读文档以确保没有预定义的方式来执行您想要的操作。话虽如此,您可以通过一些变通方法复制此功能。
一种解决方案是明确export
所有环境变量,以便在运行可执行文件时始终定义它们。这当然会导致设置很多环境变量,但不能保证它们会被使用。
如果您想最小化在任何给定时间设置的环境变量的数量,您还可以编写一个别名或函数,以便在运行可执行文件之前设置环境变量。小心使用不会与PATH
. 此解决方案更接近您的问题,因为环境变量仅在执行之前和之后存在。
python3env() {
export PYTHONPATH=/some/path
python3
unsert YOOT
}
alias python3env="export PYTHONPATH /some/path;python3;unset YOOT"
当然,这两个示例都会使您的 shell 启动配置变得混乱,并且可能会导致设置很多环境变量而无法保证它们会被使用。
推荐阅读
- mysql - 为给定 id 中的所有行复制列中的值
- php - 如何在物化中使用卡片每行显示 3 列
- php - 在 Woocommerce 购物车结帐和订单中禁用特定产品的项目名称链接
- haskell - 是否可以通过以下方式比较haskell中的“(+),(-)”等运算符?
- algorithm - 如何使用递归在 Scala 中制作反向波兰符号?
- python - 从文件中读取时一次全部跳过空间
- c - 生产者 消费者与消费者陷入僵局
- reactjs - 在移动视图上遇到 CSS 格式问题
- windows - 我可以在 Windows 7 中禁用看门狗定时器吗?
- html - 为什么 div 内的嵌套跨度不遵循该 div 的行高规则?