linux - ENV_VAR=${sh_var} 在 sh 脚本中设置

标签 linux shell environment-variables sh uwsgi

首先让我说我认为这是我的问题。我不是 100% 确定。我希望有人能告诉我我在这里是否正确...

我正在编写一个脚本,用于从用户区的源代码安装我的首选服务器堆栈。该脚本的一部分涉及使用 PHP 插件安装 uWSGI。有问题的脚本部分是:

UWSGICONFIG_PHPDIR=${HOME}/php54 UWSGI_EMBED_PLUGINS=${uwsgiplugins} python2.7 uwsgiconfig.py --build

UWSGICONFIG_PHPDIR 是我自定义编译的 PHP 安装,UWSGI_EMBED_PLUGINS 是编译 uWSGI 的环境变量,插件嵌入在二进制文件中。我在脚本的开头通过 uwsgiplugins=php 设置了这个。

当我运行脚本时,PHP 插件没有编译成 uWSGI 二进制文件。我能想到的最好的是,这是尝试将脚本变量传递给环境变量的问题。如果,在我运行脚本后,我手动输入 UWSGICONFIG_PHPDIR=${HOME}/php54 UWSGI_EMBED_PLUGINS=php python2.7 uwsgiconfig.py --build 然后 uWSGI 二进制文件正确编译嵌入式 PHP 插件。

我在尝试将变量从 sh 脚本传递到命令行上的 env 变量时做错了什么吗?我应该通过不同的方法设置这些变量吗?

最佳答案

使用 env 命令并且不要伪造引用你的变量:

 env UWSGICONFIG_PHPDIR="${HOME}/php54" UWSGI_EMBED_PLUGINS="${uwsgiplugins}" python2.7 uwsgiconfig.py --build

关于linux - ENV_VAR=${sh_var} 在 sh 脚本中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21419453/

相关文章:

php - PHP 中 Wget 的问题

vue.js - 插件内的 Nuxt privateRuntimeConfig 访问

node.js - 无法获取环境 key 来读取我的 Nodejs 程序

java应用程序的python mechanize问题

c++ - 为什么我不能在 linux 的代码块中使用 "auto"

c++ - 你如何在 CentOS9 上使用 C++ fmt?

css - 如何在具有许多子目录的目录中自动将数据 uri 嵌入到 css 文件中?

c++ - 企业在 Linux 上使用哪些 C/C++ 编译器?

linux - 如何检查输出只包含特定的字符串

Docker-compose .env 文件内部变量替换