我正在尝试扩展我们使用 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 的变体,但到目前为止还没有运气。有明显的解决方案吗?