[ https://issues.apache.org/jira/browse/CLI-275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16138528#comment-16138528 ]
Csaba Skrabak edited comment on CLI-275 at 8/23/17 3:58 PM: ------------------------------------------------------------ [~glennm], your 4th example: {noformat} "'"~"'" {noformat} ...is fully interpreted by bash, that is why echo behaves the same way. Bash by the way interprets it the following way: 1. Double quotation mark: quoted string starts (first one.) 2. Single quotation mark: a literal apostrophe is passed over to the process since we are inside quotation. 3. Double quotation mark: first quoted string ends here. 4. Tilde. Has no special meaning, passing it over to the process. (It does have special meaning in Mac OS bash; but you seem to have tested it on Linux bash.) 5. Double quotation mark. Starting a quoted string again. This is a second quotation. 6. Single quotation mark. A literal apostrophe is passed over to the process since we are inside (the second) quotation. 7. Double quotation mark. End of the second quotation. 8. End. So as a result, we passed over an apostrophe in step 2, a tilde in step 4 and another apostrophe in step 6: {noformat} '~' {noformat} tada.wav was (Author: cskrabak): [~glennm], your 4th example: {noformat} "'"~"'" {noformat} ...is fully interpreted by bash, that is why echo behaves the same way. Bash by the way interprets it the following way: 1. Double quotation mark: quoted string starts (first one.) 2. Single quotation mark: a literal apostrophe is passed over to the process since we are inside quotation. 3. Double quotation mark: first quoted string ends here. 4. Tilde. Has no special meaning, passing it over to the process. 5. Double quotation mark. Starting a quoted string again. This is a second quotation. 6. Single quotation mark. A literal apostrophe is passed over to the process since we are inside (the second) quotation. 7. Double quotation mark. End of the second quotation. 8. End. So as a result, we passed over an apostrophe in step 2, a tilde in step 4 and another apostrophe in step 6: {noformat} '~' {noformat} tada.wav > Cannot get a full quoted argument through > ----------------------------------------- > > Key: CLI-275 > URL: https://issues.apache.org/jira/browse/CLI-275 > Project: Commons CLI > Issue Type: Bug > Reporter: Csaba Skrabak > > CLI-185 has been partially fixed but user still cannot pass in an argument > like "x" (the whole argument surrounded by one pair of double quotes.) If > user enters \"x\" then the quotes get eaten (btw. WHY THE HECK?!). But if > user enters \"\"x\"\" then both pairs of quotes are left intact. > The idea of removing the quotes is plain wrong, should be either forgotten > entirely or the argument should be parsed properly (rather than tinkering > from bug to bug with variations of find/substring call constructs) with the > possibility to escape and quote quotation marks. > Blocks: PHOENIX-3710 -- This message was sent by Atlassian JIRA (v6.4.14#64029)