首页 > 解决方案 > Ruby 单行脚本执行返回错误(在 Windows 上)

问题描述

编辑:我发现了一个已回答的相同问题:How can I escape the vertical bar when doing command line with Ruby

我的my.rb文件只包含一行:

File.popen("myprocess.exe","w"){|file| file.puts "help"; file.puts "quit";}

我可以通过它执行ruby my.rb它,它就像一个魅力。但是,如果我尝试运行以下命令:

ruby -e 'File.popen("myprocess.exe","w"){|file| file.puts "help"; file.puts "quit";}'

它抱怨“文件”不被识别为内部或外部命令、可运行程序或批处理文件。尝试进一步简化它,以下行仍然返回错误:

ruby -e 'File.popen("myprocess.exe","w"){|file|}'

这段代码工作正常:

ruby -e 'File.popen("myprocess.exe","w"){}'

我究竟做错了什么?:(

标签: rubywindows

解决方案


推荐阅读