X-Spam-Check-By: sourceware.org Date: Wed, 4 Oct 2006 10:05:11 +0200 From: Thomas Porschberg To: Subject: Re: bash scripts fail with bash3.1-8 Message-ID: <20061004100511.536596b4@porschberg.osp-dd.de> In-Reply-To: <00e501c6e705$5409f7f0$a501a8c0@CAM.ARTIMI.COM> References: <002101c6e702$9978f5f0$04fa080a AT CORK DOT ARRISI DOT COM> <00e501c6e705$5409f7f0$a501a8c0 AT CAM DOT ARTIMI DOT COM> X-Mailer: Sylpheed-Claws 2.1.0 (GTK+ 2.8.3; i686-suse-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 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 ? What I do is: RESULT=`sqplus -s user/ps AT DATABASE << EOF sql-commands here EOF and it is easy to change it to RESULT=`sqplus -s user/ps AT DATABASE << EOF | d2u sql-commands here EOF (is working) For native UNIX systems the "d2u" command is unnecessary. I could do something like D2U="| d2u" under Cygwin and D2U="" under UNIX and write RESULT=`sqplus -s user/ps AT DATABASE << EOF | $D2U But this still requires that I touch the scripts. And we have a lot of such scripts, Cygwin is just one platform and I have not access to all shell sources. Best regards, 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/