我有以下高管声明:
exec { 'enable-locale':
command => 'sed -i "/^#en_US.*/s/^#//" /etc/locale.gen',
provider => shell, # for grep
unless => 'locale -a | grep -i en_US.utf8',
path => '/usr/bin',
}返回以下错误:
错误:/Stagemain/Qdii::Base/Execenable:未能计算: /bin/sh: 1: grep: not
我觉得这很奇怪,因为相同的shell命令工作得很好:
$ /bin/sh -c 'locale -a | grep -i en_US.utf8'
en_US.utf8发布于 2019-12-29 17:38:58
令人困惑的是,虽然grep有时是内置的,但对于Ubuntu来说却不是。
/bin/sh -c 'which grep'
/bin/grep修复方法是将/bin/路径添加到exec语句的path参数中。
https://stackoverflow.com/questions/59521739
复制相似问题