ruby - 如何将批处理命令输出分配给 Chef 配方属性
问题描述
我有一个 windows 命令来检查最近更新的目录。
for /f "delims=" %a in (' dir C:\Users\Username\cookbooks /ad /od /b ') do set "Last=%a";
echo %Last%;
我想将上述命令的输出分配给厨师食谱属性/食谱属性。
我确实尝试在批处理资源中直接执行上述命令并分配输出但失败了。有没有办法在厨师食谱属性中这样做?
解决方案
您可以将 a 命令作为说明书执行的一部分运行,并使用将值分配给节点属性shell_out
例如,它看起来像
ruby_block 'foo' do
block do
cmd = "your command here"
shell = Mixlib::ShellOut.new(cmd).run_command
stdout = shell.stdout
node.default['my_key'] = stdout
end
end
推荐阅读
- javascript - Slick-js 轮播在移动视图(320px)上的第一张和第二张幻灯片之间交替
- c# - 分配时修剪自动实现的属性
- javascript - 如何在 vuetify 芯片中获取价值
- c# - Shellstream 处理网络切换命令不一致
- javascript - 从缓冲区数据创建图像二进制数据数组
- flutter - 如何修复“RenderFlex 在底部溢出 283 像素”的问题?
- reactjs - 反应无线电不重置值
- elixir - 为什么 Phoenix/Plug/Guardian 在 AJAX 调用中不能识别这个 CSRF 令牌?
- snowflake-cloud-data-platform - 需要确保 Snowflake 中跨数据库的表结构相同
- laravel - 使用 Visual Studio Code 在 Laravel 中调试 Vue