3

Normally when taking user input I would do something like system("echo #{Shellwords.shellescape(data)}") but on Windows I always get:

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

Is there a way I can properly escape for Windows?

Jordon Bedwell
  • 3,070
  • 3
  • 21
  • 32

1 Answers1

1

The best solution is to use 2 parameters with system or exec. The second parameter doesn't need to be escaped because it doesn't get expanded:

system("echo", var1)
pguardiario
  • 51,516
  • 17
  • 106
  • 147