我有两个shell脚本:
第一个:<代码>1。sh,其内容如下:
export PROP="my val"
第二:<代码>2。sh,其内容如下:
./1.sh
echo $PROP
两者都具有执行权限。当我运行<代码>2时。sh,我希望环境变量PROP由1设置和导出。sh,对2中的echo$PROP语句可见。sh将被打印出来。但输出为空,表示PROP对<代码>2不可见。sh
。这里怎么了?
尝试在当前过程中获取脚本:
. 1.sh
echo $PROP
然后您可以同时删除导出:
PROP="my val"
问题是您正在一个新的shell进程中运行1.sh
,因此当进程结束时,它对其环境所做的任何更改都将丢失。具体来说,导出
使变量对当前进程的子进程可用,因此在这种情况下,它不能影响2.sh
(父进程)。
问题内容: 我在致电时设置环境变量时遇到问题。似乎没有设置环境变量。关于如何为Python命令行调用正确设置环境变量的任何建议? 我的目标是运行一个使用从我的Python代码确定的环境变量的脚本: 但是脚本的反应就像从未设置过变量一样 这是我尝试使用Python的交互式解释器进行测试: 输出为: 我认为应该为子流程设置环境,但是显然没有。有关如何更正此问题的任何建议? 问题答案: 命令行上 环境变
请考虑以下内容:你希望程序打印出你的用户名。这个程序怎么知道的?在 Linux 中有一些环境变量。这意味着你的 shell 中有许多变量,其中许多变量自动设置,每次运行程序时,其中一些变量将传递给该程序。 详细说明: 一些变量只为你当前的 shell 设置。它们被称为本地 shell 变量。你可以通过键入set,一个 bash 内置命令来列出它们 ,这意味着没有启动其它程序,之后你执行了它。此命令
我甚至无法从脚本中导出最简单的变量来在bash中工作——我错了什么? 文件test.sh: bash测试: 编辑: 我现在从答案中知道,这行不通-但是,如何在进程之间记住单个变量呢?我需要将其存储在文件中吗?
我需要导出很多变量,比如export x1=1 export x2=2 我移动了文件中的所有变量。环境和尝试 源代码 之后我处决了 所有这些变量都不在环境变量列表中。我还尝试了
我有一个简单的docker容器,它在启动时运行一个导出一些变量的脚本。 所以Dockerfile中的最后一行是 而startup.sh有 运行容器时,终端中的输出显示“test ”,正如我所料。 然而,如果我随后运行< code > docker exec-it * container id * bash 并在容器内运行< code>echo $testvar,它将为空。 环境var没有持久化吗?
我有一个奇怪的例子,我有一个secret.env文件,我把所有的环境变量都设置成这样: 秘密. env 然后我构建了一个docker文件来导出所有变量并运行应用程序: 但是,这将引发一个关键错误: 当我在我的窗户上运行这个程序时,它工作得很好! 有人能帮我一下吗?