X-Spam-Check-By: sourceware.org Date: Thu, 5 Oct 2006 09:38:23 -0400 (EDT) From: Igor Peshansky Reply-To: cygwin AT cygwin DOT com To: Thomas Porschberg cc: cygwin AT cygwin DOT com Subject: Re: bash scripts fail with bash3.1-8 In-Reply-To: <20061005094404.4bb8f5cc@porschberg.osp-dd.de> Message-ID: References: <002101c6e702$9978f5f0$04fa080a AT CORK DOT ARRISI DOT COM> <00e501c6e705$5409f7f0$a501a8c0 AT CAM DOT ARTIMI DOT COM> <20061004100511 DOT 536596b4 AT porschberg DOT osp-dd DOT de> <20061005094404 DOT 4bb8f5cc AT porschberg DOT osp-dd DOT de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 for more information. HTH, Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte." "But no -- you are no fool; you call yourself a fool, there's proof enough in that!" -- Rostand, "Cyrano de Bergerac" -- 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/