Details
Description
I have tried to create an shell:if condition that tests for multiple AND / OR operators but I am unable to find any useful documentation in KARAF or FELIX nor did anyone respond to user forum emails or was there any hint in unit tests as to how to construct a if condition with multiple operants.
Using the debugger, I can see in org.apache.felix.gogo.runtime.Closure that there is something amiss when executing my code but I tried quite a few permutations without any luck.
Example of what I thought the most likely syntax it should be but fail, fail, fail ... any chance someone with some scripting credentials is able to comment? I am offering to write it up with a few examples for the developer documentation!
foo = "foo" bar = "bar" if { &($foo equals "foo")($bar equals "bar") } { echo "yes foo and bar" } { echo "no foo and bar" }
another one I tried:
foo = "foo" bar = "bar" if { $foo equals "foo" && $bar equals "bar" } { echo "yes foo and bar" } { echo "no foo and bar" }
or this one:
foo = "foo" bar = "bar" if { [ $foo equals "foo" , $bar equals "bar" ] } { echo "yes foo and bar" } { echo "no foo and bar" }
Attachments
Issue Links
- depends upon
-
FELIX-4671 Provide an expression parser
-
- Closed
-
-
KARAF-3290 Upgrade to felix gogo runtime 0.14.0
-
- Resolved
-
- is depended upon by
-
KARAF-3289 Add a while loop command
-
- Resolved
-