From: Eric Hodel Date: 2004-11-10T02:17:57+09:00 Subject: Re: ENV["PATH"] is being overwritten (in Ruby 1.4.6) --H7DA0n3a+SnB4bJ2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Ken Innes (primehalo@hotmail.com) wrote: > primehalo@hotmail.com (Ken Innes) wrote in message news:<70452692.0411081= 519.60aa8c87@posting.google.com>... > > I'm having a weird problem where accessing the PATH environment > > variable overwrites it with a different path. As an example: > >=20 > > /scripts/script1.rb: > > #!/usr/bin/ruby > > puts `env | grep PATH` > > puts ENV["PATH"] > > puts `/usr/bin/env | grep PATH` > >=20 > > Command Line: > > [testing]% script1.rb > > /bin:/usr/bin:/usr/local/bin:.:/scripts > > /bin:/usr > > PATH=3D/bin:/usr > > [testing]% > >=20 > > I have to put the full path for "env" the second time otherwise I'd > > get "sh: env: command not found". And I don't know where the "/usr" > > directory comes from. I've searched all the files in my home > > directory, and don't see it setting just "/usr" to the path anywhere. > > I also searched through the files in the Ruby directory and never see > > a "/usr" by itself. > >=20 > > This is a project that I inherited which uses Ruby 1.4.6 on a RedHat > > Linux 6.1J. I copied it onto my RedHat Linux 6.1J machine, and > > upgraded Ruby to fix the problem. Unfortunately, the scripts are not > > quite compatible with the updated Ruby, so I had to revert to the > > version that was originally used. >=20 > I did more testing, and found that the path is getting truncated after > "/bin:/usr". My .tcshrc looked like so: [path snippage] > I really don't understand this at all. A thought came up on IRC: Are you using RedHat's Ruby 1.4.6, or a hand-built one? RedHat has been known to "fix" packages in the past. Either tcsh or ruby may have been modified to give this behavior. You can find a Ruby 1.4.6 source tarball from a mirror off of ruby-lang.org. (Holler if you can't find it.) Second, are there any binaries or scripts in /usr? It is unusual to have anything other than directories in that path, perhaps your version of tcsh has a bug that truncates the path when nothing executable is found? --=20 Eric Hodel - drbrain@segment7.net - http://segment7.net All messages signed with fingerprint: FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04 --H7DA0n3a+SnB4bJ2 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (FreeBSD) iD8DBQFBkPvCMypVHHlsnwQRAl5tAJ0Rkh7vSRIzO15SExa+Nmr7aTQoogCcCSnj VeFed7HVSknLR8sToj5SSRU= =bD1M -----END PGP SIGNATURE----- --H7DA0n3a+SnB4bJ2--