我似乎被困在试图检索从 ruby 的 Open3.popen3() 方法启动的 shell 命令的退出状态。
这是我的代码:
require 'open3'
stdin, stdout, stderr = Open3.popen3('ls')
当我现在尝试访问它时$?
,它仍然是nil
毕竟有可能检索退出状态吗?
注意:
-ls
不是我试图在我的脚本中使用的命令。我只是用这个来举个例子。我的脚本有点复杂,并且包含用户输入,这就是为什么我需要 Open3 的清理功能。
- 我也尝试过 popen3 的 block 变体,但也没有成功。