[ https://issues.apache.org/jira/browse/KARAF-2301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré updated KARAF-2301: ---------------------------------------- Fix Version/s: (was: 3.0.2) 3.0.1 > Improve shell syntax documentation > ---------------------------------- > > Key: KARAF-2301 > URL: https://issues.apache.org/jira/browse/KARAF-2301 > Project: Karaf > Issue Type: Improvement > Components: karaf-documentation > Reporter: Alan Foster > Assignee: Jean-Baptiste Onofré > Fix For: 3.0.1, 4.0.0 > > > It would be nice if there were more examples within the karaf documentation > for using the shell language. > This documentation should be available within the 'help' command too if > possible > For instance, there is currently no example of how the 'each' command works. > {code} > karaf@root> list = [1 2 3]; each ($list) { echo $it } > 1 > 2 > 3 > {code} > There is no mention of whether there support for returning/breaking early in > the each command either. After checking the source it doesn't appear to be > possible, but it would be nice to mention such a thing. > It would also be nice to show that the '[]' notation used will actually > create an instance of java ArrayList, and as such you can perform 'get' on it > to access values > {code} > karaf@root> list = ["Hello" world]; echo ($list get 0) ($list get 1) > Hello world > {code} > And that you can actually see the class implementation details with '[] class' > It would be nice to show if there is a way to access primitive array types > too. And if this isn't possible, it might be nice to add that information > {code} > karaf@root> ("hello world" toCharArray)[0] > Error executing command: [C cannot be cast to [Ljava.lang.Object; > {code} > It would nice to stress the importance of spaces in the shell language too, > as I imagine that would be a very common gotcha > ie happy path if statement working as expected > {code:title=script.txt} > foo = "foo" > if { $foo equals "foo" } { > echo "True!" > } > {code} > {code} > karaf@root> shell:source script.txt > True! > {code} > But without a space between the 'if' ie {code}if{ $foo equals "foo" } {'{code} > Then you get the following error, and it's very hard to tell what has gone > wrong > {code} > karaf@root> shell:source script.txt > Error executing command: Cannot coerce echo "true!"() to any of [] > {code} > I am happy to help with this documentation update, as I've currently got a > small amount of knowledge on the subject -- This message was sent by Atlassian JIRA (v6.2#6252)