From: justin@... Date: 2019-01-02T17:00:45+00:00 Subject: [ruby-core:90858] [Ruby trunk Bug#8028] Shellwords.escape works incorrect under windows Issue #8028 has been updated by jsc (Justin Collins). Shagabutdinov (Leonid Shagabutdinov) wrote: > Shellwords.escape works incorrect under windows (tested for Windows 7 I don't believe `Shellwords` is intended to work on Windows at all. According to the comments (https://github.com/ruby/ruby/blob/ee2ddf5411f51ea89a1569ea5d70b41cd4c6c7f2/lib/shellwords.rb#L3-L6): ~~~ # == Manipulates strings like the UNIX Bourne shell # # This module manipulates strings according to the word parsing rules # of the UNIX Bourne shell. ~~~ ---------------------------------------- Bug #8028: Shellwords.escape works incorrect under windows https://bugs.ruby-lang.org/issues/8028#change-76044 * Author: Shagabutdinov (Leonid Shagabutdinov) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.0.0p0 (2013-02-24) [i386-mingw32] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- Shellwords.escape works incorrect under windows (tested for Windows 7 x64), here is example: Actual result: irb(main):001:0> require 'shellwords' => true irb(main):002:0> `echo #{Shellwords.escape( '123>' )} test` # should echo "123> test", but echo nothing => "" irb(main):003:0> File.read( 'test' ) # but writes file "test" => "123\\\n" Expected result: irb(main):001:0> `echo 132^> test` # the correct escape sequence, echoed "123> test" => "132> test\n" Tested for "ruby 2.0.0p0 (2013-02-24) [i386-mingw32]", ruby 1.9.3, but this bug can be found in earlier ruby versions as well. -- https://bugs.ruby-lang.org/ Unsubscribe: