2011-12-26 34 views
3

通常采取用户输入的时候我会做类似system("echo #{Shellwords.shellescape(data)}"),但在Windows上我总是得到:用于Windows的Ruby Shellwords.shellescape?

[2] pry(main)> system("echo #{Shellwords.shellescape(var1)}") 
Hello\ \'\ world => true 

有没有一种方法,我可以逃避正常的Windows?

+0

没有答案,它已被接受而没有答案。 – 2011-12-26 11:39:12

+0

hello envygeeks – horseyguy 2011-12-29 01:39:49

回答

1

最好的解决方案是在system或exec中使用2个参数。第二个参数不需要转义,因为它不会被扩展:

system("echo", var1)