From: nahi Date: 2012-03-18T16:34:59+09:00 Subject: [ruby-core:43407] [ruby-trunk - Feature #3426][Rejected] exec doesn't allow command lines which begin with an env variable assignment Issue #3426 has been updated by nahi. Description updated Status changed from Open to Rejected Assignee set to mame Mark as Rejected since Endoh-san said it's duplicated of #3321, and #3321 is rejected. ---------------------------------------- Feature #3426: exec doesn't allow command lines which begin with an env variable assignment https://bugs.ruby-lang.org/issues/3426#change-24720 Author: coatl Status: Rejected Priority: Normal Assignee: mame Category: lib Target version: 2.0.0 =begin The documentation for exec states: "If single string is given as the command, it is taken as a command line that is subject to shell expansion before being executed." However, command lines that begin with environment variable assignments do not seem to work. For example: $ install/bin/ruby -e 'exec "FOO=1 echo bar"' -e:1:in `exec': No such file or directory - FOO=1 echo bar (Errno::ENOENT) from -e:1:in `
' Other examples of shellish syntax (not a filename) for the first word do work. This same problem seems to also afflict all the other constructs for running an external command: system, backticks, IO.popen, spawn. I'm reporting against 1.9.3, but all previous versions of ruby (s far back as 1.8.6) that I've tried have the problem as well. =end -- http://bugs.ruby-lang.org/