0

我正在尝试扩展我们使用 Mixlib::ShellOut 收集大量有关 Oracle 安装的信息的现有说明书。大多数情况下它只是工作。

我正在尝试为运行 TFA 的位置添加节点属性 - 因为这可能因版本而异。从服务器本身,一个简单的 ps -ef | grep tfa | grep java | awk '{print $NF}'就给了我我所需要的。

当我将其添加到食谱中时

tfa_home = ::Mixlib::ShellOut.new("ps -ef | grep tfa | grep java | awk '{print $NF}'")
tfa_home.run_command
node.normal['gbucs_oracledb']['orahome']['tfa_home'] = tfa_home.stdout.strip

生成的输出 json 似乎得到一个换行符以及字符串“$NF'”:

"tfa_home": "/u01/app/19.0.0.0/grid/tfa/<hostname>/tfa_home\n$NF}'"

我已经尝试了几种逃避 $NF 的变体,但到目前为止还没有运气。有明显的解决方案吗?

4

1 回答 1

1

那么String.gsub呢?

tfa_home.stdout.strip.gsub(/\n\$NF}'/, '')
于 2020-06-11T06:59:45.490 回答