From: Brian Candler Date: 2007-02-10T23:56:41+09:00 Subject: Re: ENV['COLUMNS'] On Sat, Feb 10, 2007 at 10:56:35PM +0900, Lloyd Zusman wrote: > > This is a shell-internal variable, and not exported by default to processes > > launched from the shell. But it can be if you wish: > > Well, if that were the case, the variable wouldn't be visible within > irb, either. Since it is, then it must be an exported environment > variable and not just shell internal. Well, on my system: brian@mappit:~$ irb1.8 irb(main):001:0> ENV.size => 39 irb(main):002:0> exit brian@mappit:~$ ruby1.8 -e 'puts ENV.size' 37 brian@mappit:~$ printenv | wc -l 37 brian@mappit:~$ So my guess is that irb is setting these variables itself, or calling some library which does so (readline perhaps?) > I think that the problem has to do with how script.rb is being invoked. > Is it started from something other than a terminal session? ... perhaps > via a cron job or a startup daemon? If so, then LINES and COLUMNS would > not normally be set, since those environment variables are usually > initialized and exported only within an interactive shell. I thought of that, but all the examples shown above and in my previous reply were typed into a terminal session. Regards, Brian.