Eric Hodel wrote: > Ken Innes (primehalo / hotmail.com) wrote: > > > primehalo / hotmail.com (Ken Innes) wrote in message news:<70452692.0411081519.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: > > > > > > /scripts/script1.rb: > > > #!/usr/bin/ruby > > > puts `env | grep PATH` > > > puts ENV["PATH"] > > > puts `/usr/bin/env | grep PATH` > > > > > > Command Line: > > > [testing]% script1.rb > > > /bin:/usr/bin:/usr/local/bin:.:/scripts > > > /bin:/usr > > > PATH=/bin:/usr > > > [testing]% > > > > > > 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. > > > > > > 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. > > > > 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? > > -- > Eric Hodel - drbrain / segment7.net - http://segment7.net > All messages signed with fingerprint: > FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04 I originally installed the RedHat version of Ruby (ruby-1.4.6.tar.gz), then I switched to the Ruby that the original developers had included with the project (also ruby-1.4.6.tar.gz). I switched in hopes it would fix the problem, but it made no difference. There was nothing special about the install except that I had to specify host: % ./configure --host=i686-pc-linux % make % make test % make install How would I tell if tcsh was modified? I installed this version of Linux myself, and nobody else here touches it. There is nothing in the /usr directory besides other directories. In my test, I created blank directories but they didn't get truncated.