(List (= scope= flags=0 words=[] bindings=[('BALLS_LIB', {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})] [LIT_CHARS /../lib]})]) (= scope= flags=0 words=[] bindings=[('BALLS_LIB', {[ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [VarSub BALLS_LIB]]})]})]) (= scope= flags=0 words=[] bindings=[('mode', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (While (Com {[LIT_CHARS getopts]} {[SQ ]} {[LIT_CHARS opt]}) (Case to_match={[VarSub opt]}, pat_word_list=[[{[LIT_CHARS C]}], [{[LIT_CHARS e]}], [{[\ LIT_ESCAPED_CHAR "\\?"]}]] (= scope= flags=0 words=[] bindings=[('BALLS_CONF', {[VarSub OPTARG]})]) (= scope= flags=0 words=[] bindings=[('BALLS_ENV', {[VarSub OPTARG]})]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " [options]"]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[SQ ]}) (Com {[LIT_CHARS echo]} {[SQ the server environment, BALLS_ENV">]}) (Com {[LIT_CHARS echo]} {[SQ ]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[SQ path to the balls conf file, BALLS_CONF">]}) (Com {[LIT_CHARS echo]} {[SQ ]}) ) ) ) (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_z {[DQ [VarSub BALLS_ENV]]}}) (= scope= flags=0 words=[] bindings=[('BALLS_ENV', {[LIT_CHARS development]})]) ) (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_z {[DQ [VarSub BALLS_CONF]]}}) (= scope= flags=0 words=[] bindings=[('BALLS_CONF', {[LIT_CHARS ./config/] [VarSub BALLS_ENV] [LIT_CHARS .sh]})]) ) (Com {[LIT_CHARS .]} {[DQ [VarSub BALLS_CONF]]}) (Com {[LIT_CHARS .]} {[VarSub BALLS_LIB] [LIT_CHARS /balls.sh]}) (Case to_match={[VarSub mode]}, pat_word_list=[[{[LIT_CHARS server]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS balls] [LIT_OTHER ":"] [LIT_OTHER ":"] [VarSub mode]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS unknown]]}) ) )