From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31834 invoked by alias); 7 Feb 2002 11:30:18 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Received: (qmail 31725 invoked from network); 7 Feb 2002 11:30:05 -0000 Received: from unknown (HELO mailhub2.shef.ac.uk) (143.167.2.154) by sources.redhat.com with SMTP; 7 Feb 2002 11:30:05 -0000 Received: from pc016105.shef.ac.uk ([143.167.16.105]) by mailhub2.shef.ac.uk with esmtp (Exim 3.22 #10) id 16YmkY-0000Up-00; Thu, 07 Feb 2002 11:29:58 +0000 Date: Thu, 07 Feb 2002 03:30:00 -0000 From: Richard Gilbert To: Pavel Tsekov cc: cygwin@cygwin.com Subject: Re: Passing double quotes to DOS In-Reply-To: <3C62623E.9040907@syntrex.com> Message-ID: Organization: University of Sheffield X-X-Sender: cs1jrg@impala.shef.ac.uk MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-02/txt/msg00317.txt.bz2 > > I need to be able to pass double quotes to a program running under NT4/DOS > > but I cannot find a way of doing so. To illustrate the problem I have > > written a trivial BAT file called e.bat which contains the single line > > > > echo %1 > > > > If I run it from a DOS shell with a double quoted parameter it echoes the > > parameter with the double quotes intact, e.g. > > > > C:>e.bat "abc" > > C:>echo "abc" (<-- the BAT file echoes the command) > > "abc" > > > > However, if I run this program from a bash shell (or tcsh) in the cygwin > > environment, I cannot find a way of passing the double quotes to the > > program... > > > > $ e.bat "abc" > > C:>echo abc > > abc > > > > (as expected) > > > > $ e.bat "\"abc\"" > > C:>echo "\"abc\"" > > echo "\"abc\"" > > > > $ e.bat '"abc"' > > C:>echo "\"abc\"" > > echo "\"abc\"" > > I dont understand the output of the last example ? Is it really the > same like the output of the second sample or it's just copy and > paste mistake ? (DISCLAIMER: My understanding of shell scripts is not > that deep so if I'm asking something very stupid here, please ignore it) It really is the same... > > Note that both the last two result in the same command being passed to > > the BAT file. > > > > Can anybody tell me how to do it? > > Does this help: e.bat \"abc\" ...and the above suggestion has exactly the same effect: $ e.bat \"abc\" C:>echo "\"abc\"" echo "\"abc\"" -- Richard Gilbert Corporate Information and Computing Services University of Sheffield, Sheffield, S10 2TN, UK Phone: +44 114 222 3028 Fax: +44 114 222 3040 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/