0
试图编写一个Ruby命令行界面。但是,当程序退出时,则会显示消息。Ruby命令行程序出口然后出现消息
这里是我的程序:
require 'open-uri'
url = ARGV[0]
if url.nil?
abort "no URL provided"
end
begin
puts open(url)
rescue => e
abort e.message
end
我得到以下
> ruby -Ilib bin/command http://iservice.ltn.com.tw/2014/specials/nonukes/news.php?rno=1&type=l&no=998123
[1] 8642
[2] 8643
[2]+ Done type=l
> #<StringIO:0x007fdf96ac82f8>
[1]+ Done ruby -Ilib bin/command http://iservice.ltn.com.tw/2014/specials/nonukes/news.php?rno=1&type=l&no=998123
>
正如你可以看到,一些奇怪的行首先出现,如[1] 8642
,然后退出程序。而后一秒钟壳打印出#<StringIO:0x007fdf96ac82f8>
,并挂在那里。 然后我必须按Enter才能退出程序。
UPDATE这似乎只发生在一些URL这样的示例中列出的一个。
为什么我的程序退出然后打印结果和挂起?什么是奇怪的日志消息?
为了澄清URL - 在URL中'&单曲正在由壳作为最终发送两个部分片段进在后台新工艺背景操作者解释。引用url可以防止它们被shell解释。 – DGM 2014-10-04 18:49:23