【发布时间】:2014-07-16 10:04:24
【问题描述】:
题名有点混乱,希望大家能理解。
我有一个 ksh 脚本 a.sh,我调用 wlst 来执行一个 wlst 脚本文件 b.py。
我可以在 b.py 中导出变量,然后在 a.sh 中访问这些变量吗?
换句话说,在 wlst 脚本中为启动 wlst 的 shell 定义一个变量
【问题讨论】:
-
可能不可能,因为 b.py 是通过 wlst.sh 调用的,因此 b.py 对环境变量所做的任何更改都会保留在 wlst.sh shell 进程中。我建议在 b.py 中使用 java.util.Properties 并将任何名称=值对属性推送到属性文件中(调用时的 a.sh 可以告诉 b.py 道具文件应该在哪里),一旦 b.py 完成, a.sh 可以读取该道具文件。另外,请注意,由于 b.py(通过 wlst.sh 执行)是 a.sh 的子 shell,因此您在 a.sh 中导出的任何变量都可以通过 b.py 访问,但反之则不行跨度>
-
非常感谢!@Mani 我已经使用属性文件的方式。另一个想法是在 a.sh `wlst b.py` 中评估 b.py 的输出,但我更喜欢你的方法。