(CommandList children: [ (FuncDef name: getopts_long body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name ZSH_VERSION> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(z)}) spids: [621 625] ) ) } {(Lit_Other ']')} ) (C {(emulate)} {(-L)} {(sh)}) ] op_id: Op_DAmp ) (AndOr children: [(C {(unset)} {(OPTLERR)} {(OPTLARG)}) (C {(Lit_Other ':')})] op_id: Op_DPipe ) (Case to_match: {(DQ ($ VSub_Name '$OPTLIND'))} arms: [ (case_arm pat_list: [ {(DQ )} {(0)} {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTLIND) op:Equal rhs:{(1)} spids:[683])] spids: [683] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [687] ) ] spids: [687] ) ] spids: [-1 676 690 -1] ) ] spids: [652 658 693] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-lt)} {(2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(printf)} {(SQ <'getopts_long: not enough arguments\\n'>)}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[717])] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [-1 712] ) ] spids: [-1 730] ) (SimpleCommand words: [ {(command)} {(eval)} { (SQ <'\n'> <' case "$2" in\n'> <' *[!a-zA-Z_0-9]*|""|[0-9]*)\n'> <'\tprintf >&2 "getopts_long: invalid variable name: \\`%s'> ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\\n" "$2"\n'> <'\treturn 1\n'> <'\t;;\n'> <' esac'>) } ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[738])] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [ {(Lit_Other ':') (Lit_Other ':') (Lit_Other '*')} {(Lit_Other '*') (Lit_Other ':') (Lit_Other ':') (Lit_Other ':') (Lit_Other '*')} {(Lit_Other '*') (-) (Lit_Other '*')} ] action: [ (SimpleCommand words: [ {(printf)} { (DQ ('getopts_long: invalid option specification: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) ("%s'") (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } {(DQ ($ VSub_Number '$1'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[792])] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [774 787 812 -1] ) ] spids: [765 771 815] ) (C {(set)} {(4)} {(DQ ($ VSub_At '$@'))}) (While cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(-gt)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) (BraceGroup children: [ (C {(eval)} {(SQ <'set -- "${'>) (DQ ($ VSub_Number '$1')) (SQ <'}" "$@"'>)} ) (AndOr children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Break break> ) ] op_id: Op_DPipe ) (C {(Lit_Other '[')} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$2')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [903 910] ) ) } {(-gt)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) ] spids: [869] ) ] op_id: Op_DPipe ) ] action: [ (SimpleCommand words: [ {(printf)} { (DQ ( 'getopts_long: long option specifications must end in an empty argument' ) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [930] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [-1 925] ) ] spids: [-1 944] ) (C {(eval)} {(SQ <'set -- "${'>) (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$2')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [953 960] ) ) (SQ <'}" "$@"'>) } ) (Case to_match: {(DQ ($ VSub_Number '$2'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (Lit_Other '=') (Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} { (DQ ('getopts_long: invalid long option name: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) ("%s'") (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } {(DQ ($ VSub_Number '$2'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [988] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [980 983 1008 -1] ) ] spids: [971 977 1011] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(0)} {(no_argument)}] spids: [1023 1028 1030 -1] ) (case_arm pat_list: [{(1)} {(required_argument)}] spids: [1033 1038 1040 -1] ) (case_arm pat_list: [{(2)} {(optional_argument)}] spids: [1043 1048 1050 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} { (DQ ('getopts_long: invalid long option type: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) ("%s'") (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } {(DQ ($ VSub_Number '$1'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1059] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [1053 1054 1079 -1] ) ] spids: [1014 1020 1082] ) (C {(eval)} { (DQ ('shift 3; set ') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$3')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [1089 1096] ) ) (SQ <' "$@"'>) } ) ] spids: [847 1103] ) ) (C {(shift)}) (C {(eval)} { (DQ ('shift; set ') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$1')}) right: (ArithWord w:{($ VSub_Name '$OPTLIND')}) ) spids: [1114 1121] ) ) (SQ <' "$@"'>) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(-le)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] op_id: Op_DPipe ) (C {(eval)} {(SQ <'set -- "${'>) (DQ ($ VSub_Number '$1')) (SQ <'}" "$@"'>)}) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$OPTLIND')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1203 1210] ) } spids: [1202] ) ] spids: [1202] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [1198 1199 1218 -1] ) (case_arm pat_list: [{(--) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$OPTLIND')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1227 1234] ) } spids: [1226] ) ] spids: [1226] ) ] spids: [1221 1223 1237 -1] ) (case_arm pat_list: [{(-) (Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(-)}) spids: [1248 1252] ) ) } spids: [1246] ) ] spids: [1246] ) (C {(shift)}) ] spids: [1240 1243 1259 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1262 1263 1271 -1] ) ] spids: [1189 1195 1274] ) ] spids: [-1 1151] ) ] spids: [-1 1277] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: { (BracedVarSub token: <VSub_Name OPTLPENDING> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: { (DQ (BracedVarSub token: <VSub_Name OPTLPENDING> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('?')}) spids: [1306 1310] ) ) } ) spids: [1302 1312] ) } spids: [1301] ) ] spids: [1301] ) (C {(set)} {(--)} {(DQ ($ VSub_Name '$OPTLARG'))} {(DQ ($ VSub_At '$@'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name OPTLPENDING> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('?')}) spids: [1330 1334] ) ) } spids: [1328] ) ] spids: [1328] ) (C {(unset)} {(OPTLARG)}) (AndOr children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$OPTLIND')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1363 1370] ) } spids: [1362] ) ] spids: [1362] ) ] op_id: Op_DPipe ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(Lit_Other '[') (-) (Lit_Other ':') (Lit_Other ']')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('bad option: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) (-) ($ VSub_Number '$1') ("'") ) } spids: [1390] ) ] spids: [1390] ) (Case to_match: {(DQ ($ VSub_Number '$3'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$4') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1422] ) ] spids: [1422] ) ] spids: [1409 1411 1428 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1437] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$4') ("='?'"))}) ] spids: [1431 1432 1457 -1] ) ] spids: [1400 1406 1460] ) ] spids: [1383 1387 1463 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Number '$3'))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (DQ ($ VSub_Number '$1')) (Lit_Other ':') (Lit_Other ':') (Lit_Other '*') } ] action: [ (C {(eval)} { (DQ ($ VSub_Number '$4') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Name '$OPTLPENDING'))} spids: [1525] ) ] spids: [1525] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [1531] ) ] spids: [1531] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$OPTLIND')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1535 1542] ) } spids: [1534] ) ] spids: [1534] ) ] spids: [-1 1518] ) ] spids: [-1 1545] ) ] spids: [1480 1487 1548 -1] ) (case_arm pat_list: [ {(Lit_Other '*') (DQ ($ VSub_Number '$1')) (Lit_Other ':') (Lit_Other '*') } ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Name '$OPTLPENDING'))} spids: [1584] ) ] spids: [1584] ) (C {(eval)} { (DQ ($ VSub_Number '$4') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [1602] ) ] spids: [1602] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$OPTLIND')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1606 1613] ) } spids: [1605] ) ] spids: [1605] ) ] spids: [-1 1577] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Number '$2')} ) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [1628 1635] ) ) } {(-gt)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('option ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) (-) ($ VSub_Number '$1') ("' requires an argument") ) } spids: [1650] ) ] spids: [1650] ) (Case to_match: {(DQ ($ VSub_Number '$3'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$4') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1682] ) ] spids: [1682] ) ] spids: [1669 1671 1688 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1697] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$4') ("='?'"))}) ] spids: [1691 1692 1717 -1] ) ] spids: [1660 1666 1720] ) ] spids: [-1 1647] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$OPTLIND')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1727 1734] ) } spids: [1726] ) ] spids: [1726] ) (C {(eval)} { (DQ ('OPTLARG=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$2')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [1744 1751] ) ('}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(eval)} { (DQ ($ VSub_Number '$4') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) ] spids: [1723 1769] ) ] spids: [1616 1772] ) ] spids: [1552 1558 1775 -1] ) (case_arm pat_list: [ {(Lit_Other '*') (DQ ($ VSub_Number '$1')) (Lit_Other '*')} ] action: [ (C {(eval)} { (DQ ($ VSub_Number '$4') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) ] spids: [1779 1784 1802 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('bad option: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) (-) ($ VSub_Number '$1') ("'") ) } spids: [1809] ) ] spids: [1809] ) (Case to_match: {(DQ ($ VSub_Number '$3'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$4') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1841] ) ] spids: [1841] ) ] spids: [1828 1830 1847 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1856] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$4') ("='?'"))}) ] spids: [1850 1851 1876 -1] ) ] spids: [1819 1825 1879] ) ] spids: [1805 1806 1882 -1] ) ] spids: [1471 1477 1885] ) ] spids: [1467 1468 1888 -1] ) ] spids: [1374 1380 1891] ) ] spids: [-1 1294] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1905] ) ] spids: [1905] ) (C {(shift)}) (C {(set)} {(6)} { (DQ (BracedVarSub token: <VSub_Name OPTLPENDING> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(--)}) spids: [1919 1923] ) ) } {(DQ ($ VSub_At '$@'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [1931] ) ] spids: [1931] ) (While cond: [ (C {(eval)} {(SQ <'set -- "${'>) (DQ ($ VSub_Number '$1')) (SQ <'}" "$@"'>)}) (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) ] body: (DoGroup children: [ (Case to_match: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('=*')}) spids: [1973 1977] ) ) } arms: [ (case_arm pat_list: [{(DQ ($ VSub_Number '$1'))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(EXACT)} spids: [1989] ) ] spids: [1989] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [1984 1986 1994 -1] ) ] spids: [1970 1980 1997] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [ { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('=*')}) spids: [2015 2019] ) ) (Lit_Other '*') } ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other '=')} {(AMBIGUOUS)} {(Lit_Other ']')} ) (AndOr children: [ (C {(eval)} {(SQ <'[ "${'>) (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$OPTLPENDING')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2061 2068] ) ) (SQ <'}" = "$1" ]'>) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(AMBIGUOUS)} spids: [2077] ) ] spids: [2077] ) ] op_id: Op_DPipe ) ] op_id: Op_DPipe ) ] spids: [-1 2038] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2100] ) ] spids: [2100] ) ] spids: [2097 2106] ) ] spids: [2015 2022 2109 -1] ) ] spids: [2005 2011 2112] ) (C {(eval)} { (DQ ('shift 2; set ') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$2')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [2119 2126] ) (' ') ) (SQ <'"$@"'>) } ) ] spids: [1962 2134] ) ) (Case to_match: {(DQ ($ VSub_Name '$OPTLPENDING'))} arms: [ (case_arm pat_list: [{(AMBIGUOUS)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('option ') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (--) (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('=*')}) spids: [2156 2160] ) ("' is ambiguous") ) } spids: [2151] ) ] spids: [2151] ) (Case to_match: {(DQ ($ VSub_Number '$5'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$6') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('=*')} ) spids: [2189 2193] ) ) } spids: [2187] ) ] spids: [2187] ) ] spids: [2174 2176 2197 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [2206] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$6') ("='?'"))}) ] spids: [2200 2201 2226 -1] ) ] spids: [2165 2171 2229] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [2232] ) ] spids: [2232] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [2147 2148 2240 -1] ) (case_arm pat_list: [{(EXACT)}] action: [ (C {(eval)} {(SQ <'set "${'>) (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$2')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [2253 2260] ) ) (SQ <'}" "$@"'>) } ) ] spids: [2243 2244 2267 -1] ) (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('bad option: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) (--) (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('=*')}) spids: [2280 2284] ) ("'") ) } spids: [2275] ) ] spids: [2275] ) (Case to_match: {(DQ ($ VSub_Number '$5'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$6') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('=*')} ) spids: [2313 2317] ) ) } spids: [2311] ) ] spids: [2311] ) ] spids: [2298 2300 2321 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [2330] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$6') ("='?'"))}) ] spids: [2324 2325 2350 -1] ) ] spids: [2289 2295 2353] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [2356] ) ] spids: [2356] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [-1 2272 2364 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(shift)}) (C {(eval)} {(SQ <'set "${'>) (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$OPTLPENDING')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2384 2391] ) ) (SQ <'}" "${'>) (DQ ($ VSub_Name '$OPTLPENDING')) (SQ <'}" "$@"'>) } ) ] spids: [2367 2368 2404 -1] ) ] spids: [2138 2144 2407] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(SQ )} spids: [2411] ) ] spids: [2411] ) (Case to_match: {(DQ ($ VSub_Number '$4'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (Lit_Other '=') (Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(1)} {(required_argument)} {(2)} {(optional_argument)}] action: [ (C {(eval)} { (DQ ($ VSub_Number '$7') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (2) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('*=')} ) spids: [2478 2482] ) ) } spids: [2476] ) ] spids: [2476] ) ] spids: [2448 2461 2486 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('option ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) (--) ($ VSub_Number '$2') ("' doesn't allow an argument") ) } spids: [2493] ) ] spids: [2493] ) (Case to_match: {(DQ ($ VSub_Number '$6'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$7') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2525] ) ] spids: [2525] ) ] spids: [2512 2514 2531 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [2540] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$7') ("='?'"))}) ] spids: [2534 2535 2560 -1] ) ] spids: [2503 2509 2563] ) ] spids: [2489 2490 2566 -1] ) ] spids: [2439 2445 2569] ) ] spids: [2433 2436 2572 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(1)} {(required_argument)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$5')}) right: (ArithWord w:{(Lit_Digits 5)}) ) spids: [2602 2609] ) ) } {(-gt)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLERR) op: Equal rhs: { (DQ ('option ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) (--) ($ VSub_Number '$2') ("' requires an argument") ) } spids: [2624] ) ] spids: [2624] ) (Case to_match: {(DQ ($ VSub_Number '$6'))} arms: [ (case_arm pat_list: [{(Lit_Other ':') (Lit_Other '*')}] action: [ (C {(eval)} {(DQ ($ VSub_Number '$7') ('=:'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLARG) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2656] ) ] spids: [2656] ) ] spids: [2643 2645 2662 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [2671] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$7') ("='?'"))}) ] spids: [2665 2666 2691 -1] ) ] spids: [2634 2640 2694] ) ] spids: [-1 2621] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$OPTLIND')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2701 2708] ) } spids: [2700] ) ] spids: [2700] ) (C {(eval)} { (DQ ('OPTLARG=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$5')}) right: (ArithWord w:{(Lit_Digits 5)}) ) spids: [2718 2725] ) ('}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(eval)} { (DQ ($ VSub_Number '$7') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (2) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) ] spids: [2697 2743] ) ] spids: [2589 2594 2746 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(eval)} { (DQ ($ VSub_Number '$7') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (2) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) ] spids: [2749 2750 2773 -1] ) ] spids: [2580 2586 2776] ) ] spids: [2576 2577 2779 -1] ) ] spids: [2424 2430 2782] ) ] spids: [1894 2785] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [72] ) spids: [68 71] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$test_getopts_long'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (FuncDef name: test_getopts_long body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expected) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2820] ) (assign_pair lhs: (LhsName name:had) op: Equal rhs: {(SQ )} spids: [2825] ) ] spids: [2820] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: {(1)} spids: [2831] ) ] spids: [2831] ) (While cond: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:err) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Sentence child: (C {(set)} {(Lit_Other '+') (x)}) terminator: <Op_Semi ';'> ) (SimpleCommand words: [{(getopts_long)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2852] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2855] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2840 2858] ) ) } spids: [2838] ) ] spids: [2838] ) (Sentence child: (SimpleCommand words: [{(getopts_long)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2868] ) ] ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(eval)} { (DQ ('opt=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ($ VSub_Number '$2') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:had) op: Equal rhs: { (DQ ($ VSub_Name '$had') ('|') ($ VSub_Name '$opt') ('@') (BracedVarSub token: <VSub_Name OPTLARG> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(unset)} ) spids: [2893 2897] ) ('@') (BracedVarSub token: <VSub_Name OPTLIND> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(unset)} ) spids: [2899 2903] ) ('@') (BracedVarSub token: <VSub_Name OPTLERR> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(unset)} ) spids: [2905 2909] ) ('@') ($ VSub_Name '$err') ) } spids: [2887] ) ] spids: [2887] ) ] spids: [2873 2915] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:had) op: Equal rhs: { (DQ ($ VSub_Name '$had') ('|') (BracedVarSub token: <VSub_Name OPTLIND> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(unset)}) spids: [2922 2926] ) ('|') ($ VSub_Name '$err') ) } spids: [2918] ) ] spids: [2918] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$had'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$expected'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(PASS)})] spids: [-1 2950] ) ] else_action: [ (C {(echo)} {(FAIL)}) (C {(printf)} {(SQ <'Expected: %s\\n Got: %s\\n'>)} {(DQ ($ VSub_Name '$expected'))} {(DQ ($ VSub_Name '$had'))} ) ] spids: [2958 2981] ) ] spids: [2817] ) spids: [2813 2816] ) (While cond: [ (Sentence child: (AndOr children: [ (SimpleCommand words: [{(read)} {(-r)} {(c)}] more_env: [(env_pair name:IFS val:{(SQ )} spids:[2987])] ) (SimpleCommand words: [{(read)} {(-r)} {(e)}] more_env: [(env_pair name:IFS val:{(SQ )} spids:[2997])] ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(printf)} {(SQ <'+ %-72s '>)} {(DQ ($ VSub_Name '$c'))}) (C {(eval)} { (DQ ('test_getopts_long ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (e) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$c') ) } ) ] spids: [3006 3036] ) redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: {(': a\n') ( '|1|getopts_long: long option specifications must end in an empty argument\n' ) (':a opt "" -a\n') ('|a@unset@2@unset@|2|\n') (':a opt "" -a b\n') ('|a@unset@2@unset@|2|\n') (':a opt "" -a -a\n') ('|a@unset@2@unset@|a@unset@3@unset@|3|\n') (':a opt "" -ab\n') ("|a@unset@1@unset@|:@b@2@bad option: `-b'@|2|\n") (':a: opt "" -ab\n') ('|a@b@2@unset@|2|\n') (':a: opt "" -a b\n') ('|a@b@3@unset@|3|\n') (':a: opt "" -a -a\n') ('|a@-a@3@unset@|3|\n') (':a: opt "" -a\n') ("|:@a@2@option `-a' requires an argument@|2|\n") (':a:: opt "" -a\n') ('|a@unset@2@unset@|2|\n') (':a:: opt "" -ab\n') ('|a@b@2@unset@|2|\n') (':a:: opt "" -a b\n') ('|a@unset@2@unset@|2|\n') (':ab: opt "" -ab c\n') ('|a@unset@1@unset@|b@c@3@unset@|3|\n') (':a:: opt "" -a -a\n') ('|a@unset@2@unset@|a@unset@3@unset@|3|\n') (':a:: opt "" -:a:\n') ("|:@:@1@bad option: `-:'@|a@:@2@unset@|2|\n") (':= opt ""\n') ('|1|\n') (':: opt ""\n') ("|1|getopts_long: invalid option specification: `::'\n") (': opt ""\n') ('|1|\n') (':a:a opt "" -a\n') ("|:@a@2@option `-a' requires an argument@|2|\n") (':a::a opt "" -a\n') ('|a@unset@2@unset@|2|\n') (':ab:c:: opt "" -abc -cba -bac\n') ('|a@unset@1@unset@|b@c@2@unset@|c@ba@3@unset@|b@ac@4@unset@|4|\n') (': opt abc 0 "" --abc\n') ('|abc@unset@2@unset@|2|\n') (': opt abc no_argument "" --abc\n') ('|abc@unset@2@unset@|2|\n') (': opt abc no_argument "" --abc=foo\n') ("|:@abc@2@option `--abc' doesn't allow an argument@|2|\n") (': opt abc no_argument "" --abc foo\n') ('|abc@unset@2@unset@|2|\n') (': opt abc 1 "" --abc=foo\n') ('|abc@foo@2@unset@|2|\n') (': opt abc required_argument "" --abc foo\n') ('|abc@foo@3@unset@|3|\n') (': opt abc required_argument "" --abc=\n') ('|abc@@2@unset@|2|\n') (': opt abc required_argument "" --abc\n') ("|:@abc@2@option `--abc' requires an argument@|2|\n") (': opt abc 2 "" --abc\n') ('|abc@unset@2@unset@|2|\n') (': opt abc optional_argument "" --abc=\n') ('|abc@@2@unset@|2|\n') (': opt abc optional_argument "" --abc=foo\n') ('|abc@foo@2@unset@|2|\n') (': opt abc optional_argument "" --abc --abc\n') ('|abc@unset@2@unset@|abc@unset@3@unset@|3|\n') (': opt abc 0 abcd 0 "" --abc\n') ('|abc@unset@2@unset@|2|\n') (': opt abc 0 abd 0 "" --ab\n') ("|:@ab@2@option `--ab' is ambiguous@|2|\n") (': opt abc 0 abcd 0 "" --ab\n') ("|:@ab@2@option `--ab' is ambiguous@|2|\n") (': opt abc 0 abc 1 "" --ab\n') ('|abc@unset@2@unset@|2|\n') (': opt abc 0 abc 1 "" --abc\n') ('|abc@unset@2@unset@|2|\n') (': opt abc 0 abc 1 "" --ab\n') ('|abc@unset@2@unset@|2|\n') (': opt abc 0 acd 0 "" --ab\n') ('|abc@unset@2@unset@|2|\n') ( ':abc:d:e::f:: opt ab 0 ac 1 bc 2 cd 1 cde 2 "" -abcdef -a -f -c --a --a= --b=foo -fg\n' ) ( "|a@unset@1@unset@|b@unset@1@unset@|c@def@2@unset@|a@unset@3@unset@|f@unset@4@unset@|c@--a@6@unset@|:@a@7@option `--a' is ambiguous@|bc@foo@8@unset@|f@g@9@unset@|9|\n" ) ('a opt "" -a\n') ('|a@unset@2@unset@|2|\n') ('a opt "" -a b\n') ('|a@unset@2@unset@|2|\n') ('a opt "" -a -a\n') ('|a@unset@2@unset@|a@unset@3@unset@|3|\n') ('a opt "" -ab\n') ("|a@unset@1@unset@|?@unset@2@bad option: `-b'@bad option: `-b'|2|\n") ('a: opt "" -ab\n') ('|a@b@2@unset@|2|\n') ('a: opt "" -a b\n') ('|a@b@3@unset@|3|\n') ('a: opt "" -a -a\n') ('|a@-a@3@unset@|3|\n') ('a: opt "" -a\n') ( "|?@unset@2@option `-a' requires an argument@option `-a' requires an argument|2|\n" ) ('a:: opt "" -a\n') ('|a@unset@2@unset@|2|\n') ('a:: opt "" -ab\n') ('|a@b@2@unset@|2|\n') ('a:: opt "" -a b\n') ('|a@unset@2@unset@|2|\n') ('a:: opt "" -a -a\n') ('|a@unset@2@unset@|a@unset@3@unset@|3|\n') ('a:: opt "" -:a:\n') ("|?@unset@1@bad option: `-:'@bad option: `-:'|a@:@2@unset@|2|\n") ('= opt ""\n') ('|1|\n') (': opt ""\n') ('|1|\n') ('\'\' opt ""\n') ('|1|\n') ('a:a opt "" -a\n') ( "|?@unset@2@option `-a' requires an argument@option `-a' requires an argument|2|\n" ) ('a::a opt "" -a\n') ('|a@unset@2@unset@|2|\n') ('ab:c:: opt "" -abc -cba -bac\n') ('|a@unset@1@unset@|b@c@2@unset@|c@ba@3@unset@|b@ac@4@unset@|4|\n') ('\'\' opt abc 0 "" --abc\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc no_argument "" --abc\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc no_argument "" --abc=foo\n') ( "|?@unset@2@option `--abc' doesn't allow an argument@option `--abc' doesn't allow an argument|2|\n" ) ('\'\' opt abc no_argument "" --abc foo\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc 1 "" --abc=foo\n') ('|abc@foo@2@unset@|2|\n') ('\'\' opt abc required_argument "" --abc foo\n') ('|abc@foo@3@unset@|3|\n') ('\'\' opt abc required_argument "" --abc=\n') ('|abc@@2@unset@|2|\n') ('\'\' opt abc required_argument "" --abc\n') ( "|?@unset@2@option `--abc' requires an argument@option `--abc' requires an argument|2|\n" ) ('\'\' opt abc 2 "" --abc\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc optional_argument "" --abc=\n') ('|abc@@2@unset@|2|\n') ('\'\' opt abc optional_argument "" --abc=foo\n') ('|abc@foo@2@unset@|2|\n') ('\'\' opt abc optional_argument "" --abc --abc\n') ('|abc@unset@2@unset@|abc@unset@3@unset@|3|\n') ('\'\' opt abc 0 abcd 0 "" --abc\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc 0 abd 0 "" --ab\n') ("|?@unset@2@option `--ab' is ambiguous@option `--ab' is ambiguous|2|\n") ('\'\' opt abc 0 abcd 0 "" --ab\n') ("|?@unset@2@option `--ab' is ambiguous@option `--ab' is ambiguous|2|\n") ('\'\' opt abc 0 abc 1 "" --ab\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc 0 abc 1 "" --abc\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc 0 abc 1 "" --ab\n') ('|abc@unset@2@unset@|2|\n') ('\'\' opt abc 0 acd 0 "" --ab\n') ('|abc@unset@2@unset@|2|\n') ('abc:d:e::f:: opt ab 0 ac 1 bc 2 cd 1 cde 2 "" -abcdef -a -f -c --a --a= --b=foo -fg\n') ( "|a@unset@1@unset@|b@unset@1@unset@|c@def@2@unset@|a@unset@3@unset@|f@unset@4@unset@|c@--a@6@unset@|?@unset@7@option `--a' is ambiguous@option `--a' is ambiguous|bc@foo@8@unset@|f@g@9@unset@|9|\n" ) (": '' '' a\n") ("|1|getopts_long: invalid variable name: `'\n") (": 1a ''\n") ("|1|getopts_long: invalid variable name: `1a'\n") ('- a\n') ("|1|getopts_long: invalid option specification: `-'\n") (":a::a:abcd o ab 1 abc 1 abd 1 abe 1 abc 2 '' -aa --ab 1 --abc\n") ("|a@a@2@unset@|ab@1@4@unset@|:@abc@5@option `--abc' requires an argument@|5|\n") (':\n') ('|1|getopts_long: not enough arguments\n') ("'\\[$' o -- 0 ' ' 1 '#' required_argument '' '-\\\\\\[$' --\\ =a --\\#=\\$\\$\n") ( '|\\@unset@1@unset@|\\@unset@1@unset@|\\@unset@1@unset@|[@unset@1@unset@|$@unset@2@unset@| @a@3@unset@|#@$$@4@unset@|4|\n' ) (': o a 1 b 2 c\n') ('|1|getopts_long: long option specifications must end in an empty argument\n') (': o a 1 b 2\n') ('|1|getopts_long: long option specifications must end in an empty argument\n') (": o a 1 b 2 c 3 '' --c\n") ("|1|getopts_long: invalid long option type: `3'\n") ('": " o " " 1 \'\' "- " "-- =1"\n') ('| @unset@1@unset@| @unset@2@unset@| @1@3@unset@|3|\n') (": o a 1 '' --c\n") ("|:@c@2@bad option: `--c'@|2|\n") (": o a 1 '' --c=foo\n") ("|:@c@2@bad option: `--c'@|2|\n") (": o ab 1 ac 1 ad 1 a 1 '' --a=1\n") ('|a@1@2@unset@|2|\n') } do_expansion: False here_end: EOF was_filled: True spids: [3038] ) ] ) ] spids: [-1 2811] ) ] spids: [-1 3043] ) ] )