You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ruby读取终端输出的最后一行并将其保存至变量

你可以参考以下两种常用的Ruby实现方案:

方案1:已有完整输出字符串时使用

如果已经将终端输出全部捕获存入了字符串变量,直接按换行拆分字符串取最后一位即可:

# 替换为你实际捕获到的终端输出变量
captured_output = <<~'EOF'
   >>>>>>>>>>>>>>>>>>>Connecting bucket<<<<<<<<<<<<<<<<<<<<<<<<<
  #<Aws::S3::Client:0x00000005219698>
  >>>>>>>>>>>>>>>>>>>Established Bucket Connetion <<<<<<<<<<<<<<<<<<<<<<<<<<
  No objects.
EOF

# 提取最后一行,strip用来去除行首尾的多余空白,不需要可以删掉
result = captured_output.split("\n").last.strip

执行后result变量的值就是No objects.。

方案2:执行命令时逐行读取(适合大输出场景)

如果终端输出内容很长,不需要存储全部输出内容,可以在执行命令时逐行读取,只保留最后一行内容,节省内存:

last_line = ""
# 将引号内的内容替换为你实际执行的终端命令
IO.popen("你要执行的命令") do |io|
  io.each_line { |line| last_line = line }
end
result = last_line.strip

内容的提问来源于stack exchange,提问作者Miguel aguilera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:12:01