This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Command line processing in dcrt0.cc does not match Microsoft parsing rules
- From: "Stephen Provine via cygwin" <cygwin at cygwin dot com>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>, "Brian dot Inglis at SystematicSw dot ab dot ca" <Brian dot Inglis at SystematicSw dot ab dot ca>
- Date: Thu, 5 Sep 2019 18:31:10 +0000
- Subject: RE: Command line processing in dcrt0.cc does not match Microsoft parsing rules
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eIUluV3+TJOHpfCM9TfTPlli58GKvufplAoKLuxMrCQ=; b=UXwZNxdPokg70wg/T7pOYwNzepafuRHvQI/Geru0LMdhfeHziPyjgBxhRG1sjUGVx0wku9pETq493sF9kBIt04953hvlh/eAs+d4lqBRWJbMFOjPMAv3gYuYkLXLLV03MDUpp1Me3gZQ++MmzTAfhcu+x/NwelNVay29WVkNIS+4ZH19hQf0IwVV8jo6KXBUiC8THTvBIrd0twpzu9sqIxlCyfCImCDObUy0+JTC85SMCYtq1zHltvK5ZgAFXFJlXmDIPpxDava67vmqeZlHxNnJszOvcTHUcfiP8j7d1BsIqXBNybVeFrvBj0MeRb+a2345sca1jug2RZbPI5Yu9Q==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cu9qp/CixUUNiMcD0jKB7ZdgTaoe5KHkc83Vs4ImgxrvfA4AKYYqQY195hyr6vTlo7sODaY11fBFUTh9K1qPDs9gg2DOigAOONBTBuKHhAXmKvXOCqWeAVjjIjw5/z4+JvHyST7oEgpqrCnVk/gXpjNqj14XFJjmFPmZIibCe1hcBl4Zuzu5lGlb+/UuupMZHgp8XES75FkCKFS4Fu1/CblHCHnfegmU+OqddBerSNKPGyxQ+mlqHUkastZBfYvbWT1D/9sx7KIhb4XA4ga612ulupF/rmARAcHOM7mmb5ZMAicaKQiDz6c5faBpUiNXPH8jlBjI08mgKBQIcEincA==
- References: <MWHPR21MB08452919F35B1B0C5F0EB4DCB9BD0@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB0845F78385792965A94E0CD9B9BD0@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB084508155AB621C7AD81309CB9B90@MWHPR21MB0845.namprd21.prod.outlook.com> <MWHPR21MB08456D9F03AF8BD450E6AB2EB9B80@MWHPR21MB0845.namprd21.prod.outlook.com>
- Reply-to: Stephen Provine <stephpr at microsoft dot com>
On 2019-09-04 23:29, Brian Inglis wrote:
> As standard on Unix systems, just add another level of quoting for each level of
> interpretation, as bash will process that command line, then bash will process
> the script command line.
My mistake - I'm very aware of the quoting rules, yet in my test script for this
scenario I forgot to quote the arguments. However, if POSIX rules are being
implemented, there is still something I didn't expect. Here's my bash script:
#!/bin/bash
echo "$1"
echo "$2"
echo "$3"
And I invoke it like this from a Windows command prompt:
C:\> bash -x script.sh foo bar\"baz bat
+ echo foo
foo
+ echo 'bar\baz bat'
bar\baz bat
+ echo ''
Not expected. Called from within Cygwin, the behavior is correct:
$ bash -x script.sh foo bar\"baz bat
+ echo foo
foo
+ echo 'bar"baz'
bar"baz
+ echo bat
bat
Can you explain this difference? The reason I ask is that if this worked,
the way Go constructs the command line string would be just fine.
Thanks,
Stephen
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple