Split the string to get only the first 5 characters

后端 未结 2 583
醉酒成梦
醉酒成梦 2021-01-29 12:34

I would like to go to the location /var/log/src/ap-kernelmodule-10.001-100

But looks like my code has to deal with ap-kernelmodule-10.002-100, ap-kernelmo

2条回答
  •  既然无缘
    2021-01-29 12:52

    I am not quite get on what you really want to achieve. Question is rather ambiguous.

    You know you would like to go to /var/log/src/ap-kernelmodule-10.001-100 and run a command, the most obvious way is you could just use:

    execute "command run here" do
     cwd "/var/log/src/ap-kernelmodule-10.001-100"
    end
    

    But if you would like to run a command for each directory like you said in ap-kernelmodule-10.002-100, ap-kernelmodule-10.003-101 etc. with /var/log/src/ap-kernelmodule-10.*/ sequentially.

    Then you could do with:

    Dir.glob("/var/log/src/ap-kernelmodule-10.*").each do |folder|
      execute "command run here" do
       cwd folder
      end
    end
    

    Additionally, parallel resources execution is not possible natively in chef (AFAIK). So, the possible workaround is to use bash or ruby_block resource to construct commands to be executed in xargs, parallel or similar tools.

    Hope this helps.

提交回复
热议问题