Project

General

Profile

Actions

Feature #3426

closed

exec doesn't allow command lines which begin with an env variable assignment

Added by coatl (caleb clausen) over 14 years ago. Updated over 12 years ago.

Status:
Rejected
Target version:
[ruby-core:30731]

Description

=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


Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #2715: Optimization to avoid spawning shell in Kernel#system call should check for failure conditionsFeedbackActions
Actions

Also available in: Atom PDF

Like0
Like0Like0