X-Spam-Check-By: sourceware.org Date: Sun, 22 Apr 2007 14:52:52 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: \r in variables and test Message-ID: <20070422185252.GA32311@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20070422170609 DOT GV7781 AT interface DOT famille DOT thibault DOT fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.11 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: 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 Sun, Apr 22, 2007 at 06:40:29PM +0100, Michael Hoffman wrote: >Samuel Thibault wrote: >>Hi, >> >>In a ./configure script, I call a test program (native python, actually) >>that outputs "True\r\n" and I put this result in variable foo. The >>problem is that [ "$foo" = True ] doesn't return true because foo >>actually contains True\r, not True. >> >>Is there a nice way around this? > >You haven't provided sufficient information about which bits you are >willing to change. > >Some things you could do are: > >* use Cygwin Python >* change the Python script to output \n instead of \r\n >* [ $foo = $'True\r' ] >* [ ${foo/%$'\r'/} = True ] > >The last has the advantage that it will work even if the script outputs >only "True\n" instead of \r\n. Another one is [[ "$foo" == True* ]] cgf -- 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/