Всякий раз, когда я пишу рецепт, Шеф-повар никогда, кажется, не использует sed правильно. Обычно я могу обойти это с помощью какого-то творческого grep'ing, но не в этом случае. Я просто пытаюсь извлечь Distinguished Name из некоторых файлов cert. Удаляя обратную косую черту перед одинарными кавычками, эта команда выполняется отлично в командной строке. Шеф-повар также не бросает никаких ошибок. «Нерабочая» часть приходит, потому что вывод, который хранится в переменной «DN», является только содержимым команды openssl, как если бы sed никогда не запускался вообще. Я также использовал это как прямой код Ruby, и он выполнялся отлично. Похоже, что это просто шеф-повар, который вызывает эту проблему.Шеф-повар не обрабатывает sed правильно
filesAndExpArray = splitArray.map! do |file|
DN = shell_out("openssl x509 -noout -subject -in #{file} | sed \'s/^.*CN=//\'")
DN = DN.stdout
file + ";" + DN
end
Какая версия шеф-повара? Некоторые журналы могут быть полезны, чтобы понять, что там не так. – Tensibai
Попробуйте запустить 'type sed' в своей оболочке/терминале и используя полный путь, который вы видите, а не голый' sed' в своем рецепте. Также попробуйте более простую команду 'sed', например' sed '/./#/ g''. –
Шеф-повар: 12.15.19 и в каком журнале? –