【发布时间】:2014-07-10 07:43:14
【问题描述】:
我是红宝石新手。还在学习中。
我有 bash 脚本和一个 ruby 脚本,各自负责。
bash 脚本使用一些命令行参数调用 ruby 脚本。 ruby 脚本在解析这些命令行参数后将设置/取消设置它的一些本地变量。这些变量在父 bash 脚本中具有相同的用途/名称。
所以,我需要将 ruby 脚本中变量的修改值也反映在父 bash 脚本中。
我想到的几种方法是:
1.) 将变量导出到 bash 中的环境,然后让 ruby 使用 ENV[] 哈希修改它们。在这种情况下,不需要在 ruby 中使用局部变量来存储这些值,ruby 会直接修改从 bash 导入的变量,因为它们是环境变量。但是,这些改变的环境值会反映在 bash 脚本中吗?
2.) 在 ruby 脚本返回到父 bash 脚本后,调用 ruby 的一些方法,这些方法会将 a 变量的值返回给它。因此,对于每个变量,都会调用一个方法。类似于 python 的东西,
python -c 'import python_module; print python_method()'
这在 ruby 中可行吗?
如果以上两种都不可能,还有其他方法可以将 ruby 变量的值反映回父 bash 脚本中吗?
或者,除了 ruby/python 之外,还有其他脚本选项可以帮助我做到这一点吗?
感谢您花时间阅读这篇文章并帮助我。 :-)
【问题讨论】:
标签: python ruby linux bash environment