在shell / perl等脚本语言中,我可以使用变量在运行时获取特定的目录名,该名称可以在脚本中使用。但是在厨师食谱中如何使用变量而不将它们作为参数传递
我想将shell命令行的输出分配给变量 - 如何在厨师食谱中实现它。我正在使用厨师独奏。
Shell示例:
install_dir=`grep install /tmp/my_info.txt | cut -d"/" -f4`
cd /dev/install_dir
答案 0 :(得分:0)
你测试了你的食谱吗?语法已经正确。例如,如果我有一个文件/tmp/my_info.txt
,并且所述文件的内容类似于:
install is here
but not here
我运行以下厨师食谱:
install_dir = `grep install /tmp/my_info.txt`
Chef::Log.error("Result of grep is: #{install_dir}")
然后,来自chef-client的输出将是:
ERROR: Result of grep is: install is here
如果你需要在某些资源中使用install_dir(你还没有真正展示过),它可能就像这样简单:
directory "#{install_dir}" do
owner "root"
group "root"
mode 00644
action :create
end