For the tracking: https://issues.apache.org/jira/browse/KARAF-6794 <https://issues.apache.org/jira/browse/KARAF-6794>
Regards JB > Le 24 juil. 2020 à 07:45, Jean-Baptiste Onofre <[email protected]> a écrit : > > Ah ok I understand now. > > Right now, the only way is to escape space and single quote. > > For instance John\ O\’Deer will end with John O’Deer. > > However, the double quote should do the escape for you, but we have the issue > due to Felix Gogo Runtime: > java.io.EOFException: unexpected EOT looking for matching quote: ' > > That’s due to the Felix Gogo runtime update and a change we did there. > > Let me create a Jira and fix that. > > Sorry for the inconvenience. > > Regards > JB > >> Le 22 juil. 2020 à 13:20, J. Brebec <[email protected] >> <mailto:[email protected]>> a écrit : >> >> Sorry. My issue is not about double quote or spaces, it's about spaces and >> single quote (or apostrophe). For example, I have commands which take a >> query as parameter. I used to write the query with doubles quotes, because >> there is a lot of spaces. However, I can't use an apostrophe in this kind of >> query. >> >> If I use your example below, you can see it "looks" like using a quote >> worked because the syntax error disappears. however it's not, an invalid >> user has been created with a backslash. >> >> karaf@root()> feature:repo-add >> mvn:org.apache.karaf.examples/karaf-command-example-features/4.2.9/xml >> Adding feature url >> mvn:org.apache.karaf.examples/karaf-command-example-features/4.2.9/xml >> karaf@root()> feature:install karaf-command-example-provider >> karaf@root()> feature:install karaf-command-example >> karaf@root()> booking:list >> ID | Flight | Customer >> ---+--------+--------- >> karaf@root()> booking:add X1 "John O'Connor" >> Error executing command: unexpected EOT looking for matching quote: ' >> karaf@root()> booking:add X1 "John O\'Connor" >> karaf@root()> booking:list >> ID | Flight | Customer >> --------+----------------+--------- >> 9198438 | John O\'Connor | X1 >> karaf@root()> booking:add X2 John\ O\'Connor >> karaf@root()> booking:list >> ID | Flight | Customer >> --------+----------------+--------- >> 6573975 | John O'Connor | X2 >> 9198438 | John O\'Connor | X1 >> >> On 2020/07/22 07:50:50, Jean-Baptiste Onofre <[email protected] >> <mailto:[email protected]>> wrote: >>> Sorry I don’t understand. >>> >>> The quote are used as you can see in my previous email (John Doe is without >>> quote but with space). >>> >>> Regards >>> JB >>> >>>> Le 22 juil. 2020 à 09:32, J. Brebec <[email protected] >>>> <mailto:[email protected]>> a écrit : >>>> >>>> Thanks. >>>> >>>> It works indeed if I doesn't use double quotes and quote every spaces and >>>> single quote. It just looks.. not usual to have to use a backslash before >>>> a single quote to be valid syntaxically but this backslash is visible by >>>> the command. >>>> >>>> I have this behavior in all my command (and the camel too), but your >>>> workaround helped me, thanks. >>>> >>>> >>>> On 2020/07/22 06:29:10, Jean-Baptiste Onofre <[email protected] >>>> <mailto:[email protected]>> wrote: >>>>> Hi, >>>>> >>>>> I just tested with Karaf Command example: >>>>> >>>>> karaf@root()> feature:repo-add >>>>> mvn:org.apache.karaf.examples/karaf-command-example-features/4.2.9/xml >>>>> Adding feature url >>>>> mvn:org.apache.karaf.examples/karaf-command-example-features/4.2.9/xml >>>>> karaf@root()> feature:install karaf-command-example-provider >>>>> karaf@root()> feature:install karaf-command-example >>>>> karaf@root()> booking:list >>>>> ID │ Flight │ Customer >>>>> ───┼────────┼───────── >>>>> karaf@root()> booking:add AF520 "John Doe" >>>>> karaf@root()> booking:list >>>>> ID │ Flight │ Customer >>>>> ────────┼──────────┼───────── >>>>> 7187096 │ John Doe │ AF520 >>>>> >>>>> It just works fine with double quotes as you can see. >>>>> >>>>> Backslash also works: >>>>> >>>>> karaf@root()> booking:add FOO Other\ Test >>>>> karaf@root()> booking:list >>>>> ID │ Flight │ Customer >>>>> ────────┼────────────┼───────── >>>>> 2677320 │ Other Test │ FOO >>>>> 7187096 │ John Doe │ AF520 >>>>> >>>>> Do you have the problem specifically with camel commands or generally >>>>> speaking ? >>>>> >>>>> If it’s only with Camel commands, I will take a look specifically to >>>>> Camel. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>>> Le 21 juil. 2020 à 15:24, J. Brebec <[email protected] >>>>>> <mailto:[email protected]>> a écrit : >>>>>> >>>>>> A simple example with camel and Karaf 4.2.9: >>>>>> >>>>>> karaf@root()> camel:component-list "a'b" >>>>>> Error executing command: unexpected EOT looking for matching quote: ' >>>>>> karaf@root()> camel:component-list "a\'b" >>>>>> Camel context a\'b not found. >>>>>> >>>>>> Without a quote "a'b" is invalid. >>>>>> With a backslash, "a\'b" is valid, however, the command "sees" the >>>>>> backslash (and I don't think every command should handle quoting in an >>>>>> argument?) >>>>>> >>>>>> If I use a native gogo(jline?) command, it's working: >>>>>> >>>>>> karaf@root()> echo "a\'b" >>>>>> a'b >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On 2020/07/21 12:13:42, Jean-Baptiste Onofre <[email protected] >>>>>> <mailto:[email protected]>> wrote: >>>>>>> Hi, >>>>>>> >>>>>>> Assuming the last argument is String, did you try " and \" ? >>>>>>> >>>>>>> I just try and it works fine for me (on Linux and Mac). >>>>>>> >>>>>>> Can you provide some environment details to me please ? >>>>>>> >>>>>>> Thanks ! >>>>>>> Regards >>>>>>> JB >>>>>>> >>>>>>>> Le 21 juil. 2020 à 10:08, J. Brebec <[email protected] >>>>>>>> <mailto:[email protected]>> a écrit : >>>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> I have a Karaf shell command which take a String parameters. >>>>>>>> How can I call it with a parameters with space and quote ? >>>>>>>> >>>>>>>> this doesn't work (the command is not executed with a error about a >>>>>>>> non-matched quote) >>>>>>>> ns:mycmd "xx n'est pas conforme" >>>>>>>> >>>>>>>> this doesn't work either: the command is executed, but the backlash is >>>>>>>> seen by my command >>>>>>>> ns:mycmd "xx n\'est pas conforme" >>>>>>>> >>>>>>>> I didn't found the right syntax.. >>>>>>>> >>>>>>>> thanks! >>>>>>>> >>>>>>>> Jérémie >>>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>> >>> >
