[
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: 2.4.0)
> 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)