(CommandList children: [ (C {(set)} {(--)} {(-h)} {(-c)} {(foo)} {(x)} {(y)} {(z)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FLAG_h) op:Equal rhs:{(0)} spids:[20])] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FLAG_c) op:Equal rhs:{(SQ )} spids:[23])] spids: [23] ) (While cond: [(C {(getopts)} {(DQ ("hc:"))} {(opt)})] body: (DoGroup children: [ (C {(echo)} {(DQ ("status ") ($ VSub_QMark "$?"))}) (C {(echo)} {(DQ ("OPT ") ($ VSub_Name "$opt"))}) (Case to_match: {($ VSub_Name "$opt")} arms: [ (case_arm pat_list: [{(h)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FLAG_h) op:Equal rhs:{(1)} spids:[66])] spids: [66] ) ] spids: [63 64 69 -1] ) (case_arm pat_list: [{(c)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FLAG_c) op: Equal rhs: {(DQ ($ VSub_Name "$OPTARG"))} spids: [75] ) ] spids: [75] ) ] spids: [72 73 80 -1] ) (case_arm pat_list: [{(Lit_Other "?")}] action: [ (Sentence child: (C {(echo)} {(ERROR)}) terminator: <Op_Semi ";"> ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [83 84 93 -1] ) ] spids: [56 60 96] ) ] spids: [37 98] ) ) (C {(shift)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:OPTIND) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [102 111] ) } ) (C {(echo)} {(Lit_VarLike "h=") ($ VSub_Name "$FLAG_h")} {(Lit_VarLike "c=") ($ VSub_Name "$FLAG_c")} {(Lit_VarLike "optind=") ($ VSub_Name "$OPTIND")} {(Lit_VarLike "argv=") ($ VSub_At "$@")} ) ] )