From: hanmac@... Date: 2018-05-17T09:43:09+00:00 Subject: [ruby-core:87125] [Ruby trunk Bug#14765] Arguments passed to Open3.popen3() are not interpreted as wildcards Issue #14765 has been updated by Hanmac (Hans Mackowiak). popen3 uses Process.spawn and this does show this in the docs: commandline : command line string which is passed to the standard shell cmdname, arg1, ... : command name and one or more arguments (This form does not use the shell. See below for caveats.) ---------------------------------------- Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards https://bugs.ruby-lang.org/issues/14765#change-72110 * Author: Rushyanth (Rushyanth reddy) * Status: Rejected * Priority: Normal * Assignee: * Target version: * ruby -v: 2.3.1 * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- In console when we write ```ruby stdin, stdout, stderr, wait_thr = Open3.popen4("cat .*.yml") stdout.readlines ``` All the files with names starting with `.` and ending in `.yml` are shown But when we do ```ruby stdin, stdout, stderr, wait_thr = Open3.popen4("cat", ".*.yml") stdout.readlines ``` It returns an empty array `stderr.readlines` says `["cat: .*.yml: No such file or directory\n"]` Because it is interpreting the string arguments as it is and looking for a file with name `.*.yml` and not interpreting as in the first case. -- https://bugs.ruby-lang.org/ Unsubscribe: