我想去那个地方
/var/log/src/ap-kernelmodule-10.001-100

但是看起来我的代码必须处理
ap-kernelmodule-10.002-100,ap-kernelmodule-10.003-101等。
我想用分割字符串到达​​该位置并执行我的命令。
例如:/var/log/src/ap-kernelmodule-10./

这个用于Linux机器的ruby脚本,所以我使用了Mixlib :: ShellOut。

begin
cmd = Mixlib::ShellOut.new("command run here" , :cwd =>
'/var/cache/acpchef/src/ap-kernelmodule-10xxx')
 cmd.run_command
end

最佳答案

您不能同时处于多个cwd中。要为每个与模式匹配的目录运行命令,可以使用Dir#glob

Dir.glob('/var/cache/acpchef/src/ap-kernelmodule-10*').each do |cwd|
  Mixlib::ShellOut.new("command run here", cwd: cwd).run_command
end

关于ruby - 分割字符串仅获得前5个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52812166/

10-11 06:36