[
https://issues.apache.org/jira/browse/HADOOP-9660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695674#comment-13695674
]
Chris Nauroth commented on HADOOP-9660:
---------------------------------------
FWIW, as a user of bash, I need to know the rules of bash and how it interacts
with the executables I call. For example, I need to know that bash expands ~
to my home directory, so the ~ character doesn't go to my executable. I need
to know that $VAR evaluates an environment variable inside double-quotes, but
not single-quotes. bash sometimes does things that I personally find
counter-intuitive, but when that happens, I expect that I need to address it at
the level of bash. I don't expect hadoop (or any other executable) to try to
infer what I really meant. Attempting to infer could have unintended side
effects, such as making it impossible to pass just "-D" as an argument. (I
think the current patch would insert an '=' even if not desired.)
I'm not sure why the situation would be different for Powershell, cmd, or any
other shell.
> [WINDOWS] Powershell / cmd parses -Dkey=value from command line as [-Dkey,
> value] which breaks GenericsOptionParser
> -------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-9660
> URL: https://issues.apache.org/jira/browse/HADOOP-9660
> Project: Hadoop Common
> Issue Type: Bug
> Components: scripts, util
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 3.0.0, 2.1.0-beta
>
> Attachments: hadoop-9660-branch1_v1.patch,
> hadoop-9660-branch2_v1.patch
>
>
> When parsing parameters to a class implementing Tool, and using ToolRunner,
> we can pass
> {code}
> bin/hadoop <tool_class> -Dkey=value
> {code}
> However, powershell parses the '=' sign itself, and sends it to java as
> ["-Dkey", "value"] which breaks GenericOptionsParser.
> Using "-Dkey=value" or '-Dkey=value' does not fix the problem. The only
> workaround seems to trick PS by using:
> '"-Dkey=value"' (single + double quote)
> In cmd, "-Dkey=value" works, but not '"-Dkey=value"'.
> http://stackoverflow.com/questions/4940375/how-do-i-pass-an-equal-sign-when-calling-a-batch-script-in-powershell
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira