----- Original Message ----- From: "Abc Xyz" <[EMAIL PROTECTED]> No real name?
To: "Mauritz Sundell" <[EMAIL PROTECTED]>; "freebsd-questions" <[EMAIL PROTECTED]> Sent: Wednesday, July 17, 2002 2:47 PM Subject: Re: /dev/null and 2>&- > > > i just installed 4.6-RELEASE, and notice that > > > the '2>&-' sh (FBSD) construct seems to be broken. > > > i am going thru all my scripts having to change > > > it to /dev/null ... > > > In what way is it broken? > > > If the construct is generally used for hiding errormessages, one > > should probably replace it with '2>/dev/null' anyway, since 2>&- > > only closes filedescriptor 2 at startup of program and the first file > > the program opens will be assigned the very same and all output > > to stderr will come up in that file. > > > Example, > > sh> tee < /dev/null 2>&- empty /nonexistent/missingfile > > sh> cat empty > > tee: /nonexistent/missingfile: No such file or directory > > sh> > > this example above is incorrect with regards to 4.6-RELEASE. Sorry, I forgot I had replaced my /bin/sh in 4.6-RELEASE with /bin/sh from 5.0-CURRENT due to problems when I was building and installing CURRENT over RELEASE. /bin/sh core-dumped under installation so I replaced the RELEASE sh with CURRENT:s and then the rest of installation worked. So, I have also have had trouble with /bin/sh from 4.6-RELEASE but in CURRENT it works again. I dont know how /bin/sh works in 4.6-STABLE Are where someone out there who wants to test it? And have better answers? > with 4.6-RELEASE, output is as follows: > > Example, > sh> tee < /dev/null 2>&- empty /nonexistent/missingfile > tee: /nonexistent/missingfile: No such file or directory > sh> cat empty > sh> > > > sh> tee < /dev/null 2>/dev/null empty /nonexistent/missingfile > > sh> cat empty > > sh> > > > > i figure it's not realistic to assume a bug this > > > obvious would make it to release stage, so my > > > question is - is something else going on? > > > or is this just due to changes in 'sh'? > > > is it a bug? or is it a permenent change? > I dont know the history of sh, but I also think it as a bug, and from my experience with CURRENT it look as it changed back to normal. But maybe there is an intended change, should look in STABLE. I have a vague memory of seeing mail about special treatment of filedescriptors 0,1 and 2 when calling fork() or was it setuid(), dont remember ... might be connected or? -- Mauritz Sundell, [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-questions" in the body of the message