Я хочу вырваться из шеф-повара, если команда bash возвращает определенное значение.
execute 'noop' do
command <<-EOH
cmd_output=$(echo "test")
if [ "$cmd_output" == "test" ]; then
return
fi
EOH
end
У меня ошибка return: can only 'return' from a function or sourced script
Как лучше всего получить вывод команды bash и затем вернуться на его основе?
Ваше сообщение об ошибке исходит от Bash, а не от Chef - чтобы избежать путаницы, вручную протестируйте свой сценарий из оболочки, прежде чем добавлять его в Chef.
Как говорится в ошибке, Bash позволит вам return
из функции или другого скрипта, включенного с использованием source
. Вы не можете использовать его для выхода из основного скрипта.
В вашем примере замена return
с участием exit 0
должно сработать.