【问题标题】:sed -r not properly working in chefsed -r 在厨师中无法正常工作
【发布时间】:2017-04-10 15:05:51
【问题描述】:

我正在 Chef 中编写一个食谱,其中我使用带有 bash 解释器的脚本资源来执行 sed 命令:

    script 'find the lastest version of the major release available' do
        interpreter "bash"
        code <<-EOH
        SUBMGR_REPO=$(ls -1d /net/gutstools.am.lilly.com/guts_dev/distr/redhat/* | egrep `echo as6-u7_64 | sed -r 's/([aw]s[[:digit:]]+).*$/\1-u[[:digit:]]+(_64)?$/'` 2>/dev/null | sort -nr -t/ -k 7.6,7 | awk -F/ '{ print $7 }' | head -1)
        echo $SUBMGR_REPO
        EOH
end

如果我从终端运行上述命令,它可以正常工作,如下所示:

[c244728_lx@brainiac-ia-0008 redhat]$ SUBMGR_REPO=$(ls -1d /net/gutstools.am.lilly.com/guts_dev/distr/redhat/* | egrep `echo as6-u7_64 | sed -r 's/([aw]s[[:digit:]]+).*$/\1-u[[:digit:]]+(_64)?$/'` 2>/dev/null | sort -nr -t/ -k 7.6,7 | awk -F/ '{ print $7 }' | head -1)
[c244728_lx@brainiac-ia-0008 redhat]$ echo $SUBMGR_REPO
as6-u8_64
[c244728_lx@brainiac-ia-0008 redhat]$ ls
as5-u10_64  as5-u8_64  as6-u4_64               as6-u5_64.tar   as7-u1_64                 ws5-u10     ws5-u6_64  ws5-u9     ws6-u2_64  ws6-u5     ws6-u7_64
as5-u11_64  as5-u9_64  as6-u5_64               as6-u6_64       as7-u2_64                 ws5-u10_64  ws5-u7     ws5-u9_64  ws6-u3     ws6-u5_64  ws6-u8_64
as5-u5_64   as6-u1_64  as6-u5_64_1             as6-u7_64       krb5-patch                ws5-u11     ws5-u7_64  ws6-u1     ws6-u3_64  ws6-u6     ws7-u1_64
as5-u6_64   as6-u2_64  as6-u5_64-GBIP          as6-u7_64-GBIP  openssl.tar               ws5-u11_64  ws5-u8     ws6-u1_64  ws6-u4     ws6-u6_64  ws7-u2_64
as5-u7_64   as6-u3_64  as6-u5_64-kernel-patch  as6-u8_64       ruby22_rail41_CHG0053697  ws5-u6      ws5-u8_64  ws6-u2     ws6-u4_64  ws6-u7
[c244728_lx@brainiac-ia-0008 redhat]$

但是在厨师食谱中失败,它在 $SUBMGR_REPO 中给出了空值。请帮我解决这个问题。

谢谢。

【问题讨论】:

标签: ruby regex sed chef-infra chef-recipe


【解决方案1】:

你真的应该考虑重构一下,但我敢打赌,问题是你有一些需要修复的未转义反斜杠(例如\\1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多