bash - 尝试将 bash 变量从 .sh 文件导出到另一个运行它的文件
问题描述
这是我所拥有的:
script_1.sh
echo "HELLO FROM script_1.sh"
./scripts/script_2.sh
echo $MY_VARIABLE
脚本_2.sh
echo "HELLO FROM script_2.sh"
export MY_VARIABLE="MY_VALUE"
这是我运行script_1.sh时记录的内容:
HELLO FROM script_1.sh
HELLO FROM script_2.sh
"" // EMPTY LINE INSTEAD OF "MY_VALUE"
我究竟做错了什么?
解决方案
变量从父级导出到子级,反之亦然。script_2.sh
在不同的 shell 中调用,其环境不会传播回父 shell。
获取脚本(使用.
)以在同一个 shell 中调用它。然后,您甚至不需要导出该值。
. ./scripts/script_2.sh
推荐阅读
- c# - 在c#中使用正则表达式匹配集合重写url
- android - 您是否在 AndroidManifest.xml 中声明了此活动?(安卓工作室)2018
- javascript - 选择边框不正确,而画布的缩放值不是 1
- python - 找不到模块 qiskit_aqua.algorithms
- javascript - 从重复数组填充数组
- sql - 超过 2 个表的 SQL 查询
- vue.js - 简写的 ES6 方法语法是否也适用于 ES5?
- c# - 使用滑动效果展开和折叠画布 - UWP C#
- c# - 并行枚举目录消耗非常高的物理内存使用率
- wordpress - 如何解决被黑的网站?Webshell wordpress 网站