This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: bash scripts fail with bash3.1-8


Am Thu, 5 Oct 2006 09:38:23 -0400 (EDT)
schrieb Igor Peshansky :

> On Thu, 5 Oct 2006, Thomas Porschberg wrote:
> 
> > Am Wed, 04 Oct 2006 10:19:52 -0500
> > schrieb mwoehlke :
> >
> > > Thomas Porschberg wrote:
> > > > Am Tue, 3 Oct 2006 17:02:29 +0100
> > > > schrieb "Dave Korn" :
> > > >> On 03 October 2006 16:43, Turly O'Connor wrote:
> > > >>> By way of an example as to what broke, note that in the
> > > >>> following that  "cleartool" is not a cygwin tool (it's a
> > > >>> Windows executable), writing its CRLF-terminated output to
> > > >>> Windows' stdout.
> > > >>>
> > > >>> CHECKOUTS=`cleartool lsc -all -cvi -s`  # list all my
> > > >>> checkouts
> > > >>>
> > > >>> I used to be able to do
> > > >>>
> > > >>> for one in $CHECKOUTS ; do echo $one Hello ; done
> > > >>>
> > > >>> C:/Path/To/file1 Hello
> > > >>> C:/Path/To/file2 Hello
> > > >>>
> > > >>> Now it seems that "$one" above contains the binary CR, so I
> > > >>> get:
> > > >>>
> > > >>> Hello h/To/file1
> > > >>> Hello h/To/file2
> > > >>>
> > > >>> What do I need to do to get this working again?
> > > >>   How about
> > > >>
> > > >> CHECKOUTS=`cleartool lsc -all -cvi -s | d2u`  # list all my
> > > >> checkouts
> > > >>
> > > >> or
> > > >>
> > > >> for one in $((echo $CHECKOUTS | d2u)) ; do echo $one Hello ;
> > > >> done
> > > >>
> > > >> depending on how happy cleartool is on piping output to a
> > > >> cygwin program.
> > > >
> > > > This is exactly the problem I have with my sqlplus call.
> > > > Is there a way to solve it without introducing the d2u filter ?
> > >
> > > You could try the new shopt... but have you considered arranging
> > > for 'sqlplus' to point to a shell script that would exec
> > > 'sqlplus.exe' and pipe it through d2u?
> > >
> > I tried the new "shopt -s igncr;#' but it does not work for this
> > case. (It does work if I have CR polluted files but not with the
> > piped stdout result)
> > Your approach with the additional shell script looks good. Thank
> > you. But it was not necessary in the past and now I have to do it
> > for every Windows program I call from cygwin and that writes to
> > stdout. ( ATM I see only sqlplus in my case :-) ).
> 
> If you want textmode pipes, add "nobinmode" to your CYGWIN environment
> variable.  See <http://cygwin.com/cygwin-ug-net/using-cygwinenv.html>
> for more information.

Yep, cool thing. It works and now I can abandon my sqlplus wrapper
script. Thank you.

Thomas

-- 


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]