(CommandList children: [ (FuncDef name: getopts_long body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] 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)}) ] ) (AndOr ops: [Op_DPipe] children: [(C {(unset)} {(OPTLERR)} {(OPTLARG)}) (C {(Lit_Other ':')})] ) (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: {(EmptyPart)} spids: [687] ) ] spids: [687] ) ] spids: [16777215 676 690 16777215] ) ] 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:16777215 arg_word:{(2)} spids:[717])] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 712] ) ] spids: [16777215 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'") (Lit_Other '\\') (n) ) } {(DQ ($ VSub_Number '$1'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[792])] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [774 787 813 16777215] ) ] spids: [765 771 816] ) (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 ops: [Op_DPipe] 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 ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Break break> ) ] ) (C {(Lit_Other '[')} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Number '$2')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [904 911] ) ) } {(-gt)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) ] spids: [870] ) ] ) ] action: [ (SimpleCommand words: [ {(printf)} { (DQ ( 'getopts_long: long option specifications must end in an empty argument' ) (Lit_Other '\\') (n) ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [931] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 926] ) ] spids: [16777215 946] ) (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: [955 962] ) ) (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'") (Lit_Other '\\') (n) ) } {(DQ ($ VSub_Number '$2'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [990] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [982 985 1011 16777215] ) ] spids: [973 979 1014] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(0)} {(no_argument)}] spids: [1026 1031 1033 16777215] ) (case_arm pat_list: [{(1)} {(required_argument)}] spids: [1036 1041 1043 16777215] ) (case_arm pat_list: [{(2)} {(optional_argument)}] spids: [1046 1051 1053 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} { (DQ ('getopts_long: invalid long option type: ') (EscapedLiteralPart token: <Lit_EscapedChar '\\`'> ) ("%s'") (Lit_Other '\\') (n) ) } {(DQ ($ VSub_Number '$1'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1062] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [1056 1057 1083 16777215] ) ] spids: [1017 1023 1086] ) (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: [1093 1100] ) ) (SQ <' "$@"'>) } ) ] spids: [848 1107] ) ) (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: [1118 1125] ) ) (SQ <' "$@"'>) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(-le)} {(DQ ($ VSub_Pound '$#'))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) (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: [1207 1214] ) } spids: [1206] ) ] spids: [1206] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [1202 1203 1222 16777215] ) (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: [1231 1238] ) } spids: [1230] ) ] spids: [1230] ) ] spids: [1225 1227 1241 16777215] ) (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: [1252 1256] ) ) } spids: [1250] ) ] spids: [1250] ) (C {(shift)}) ] spids: [1244 1247 1263 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1266 1267 1275 16777215] ) ] spids: [1193 1199 1278] ) ] spids: [16777215 1155] ) ] spids: [16777215 1281] ) (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: [1310 1314] ) ) } ) spids: [1306 1316] ) } spids: [1305] ) ] spids: [1305] ) (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: [1334 1338] ) ) } spids: [1332] ) ] spids: [1332] ) (C {(unset)} {(OPTLARG)}) (AndOr ops: [Op_DPipe] 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: [1367 1374] ) } spids: [1366] ) ] spids: [1366] ) ] ) (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: [1394] ) ] spids: [1394] ) (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: [1426] ) ] spids: [1426] ) ] spids: [1413 1415 1432 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1441] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$4') ("='?'"))}) ] spids: [1435 1436 1461 16777215] ) ] spids: [1404 1410 1464] ) ] spids: [1387 1391 1467 16777215] ) (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: [1529] ) ] spids: [1529] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(EmptyPart)} spids: [1535] ) ] spids: [1535] ) (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: [1539 1546] ) } spids: [1538] ) ] spids: [1538] ) ] spids: [16777215 1522] ) ] spids: [16777215 1549] ) ] spids: [1484 1491 1552 16777215] ) (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: [1588] ) ] spids: [1588] ) (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: {(EmptyPart)} spids: [1606] ) ] spids: [1606] ) (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: [1610 1617] ) } spids: [1609] ) ] spids: [1609] ) ] spids: [16777215 1581] ) ] 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: [1632 1639] ) ) } {(-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: [1654] ) ] spids: [1654] ) (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: [1686] ) ] spids: [1686] ) ] spids: [1673 1675 1692 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1701] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$4') ("='?'"))}) ] spids: [1695 1696 1721 16777215] ) ] spids: [1664 1670 1724] ) ] spids: [16777215 1651] ) ] 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: [1731 1738] ) } spids: [1730] ) ] spids: [1730] ) (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: [1748 1755] ) ('}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(eval)} { (DQ ($ VSub_Number '$4') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (1) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) ] spids: [1727 1773] ) ] spids: [1620 1776] ) ] spids: [1556 1562 1779 16777215] ) (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: [1783 1788 1806 16777215] ) (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: [1813] ) ] spids: [1813] ) (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: [1845] ) ] spids: [1845] ) ] spids: [1832 1834 1851 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1860] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$4') ("='?'"))}) ] spids: [1854 1855 1880 16777215] ) ] spids: [1823 1829 1883] ) ] spids: [1809 1810 1886 16777215] ) ] spids: [1475 1481 1889] ) ] spids: [1471 1472 1892 16777215] ) ] spids: [1378 1384 1895] ) ] spids: [16777215 1298] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1909] ) ] spids: [1909] ) (C {(shift)}) (C {(set)} {(6)} { (DQ (BracedVarSub token: <VSub_Name OPTLPENDING> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(--)}) spids: [1923 1927] ) ) } {(DQ ($ VSub_At '$@'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(EmptyPart)} spids: [1935] ) ] spids: [1935] ) (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: [1977 1981] ) ) } 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: [1993] ) ] spids: [1993] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [1988 1990 1998 16777215] ) ] spids: [1974 1984 2001] ) (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: [2019 2023] ) ) (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 ops: [Op_DPipe Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTLPENDING'))} {(Lit_Other '=')} {(AMBIGUOUS)} {(Lit_Other ']')} ) (C {(eval)} {(SQ <'[ "${'>) (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: {($ VSub_Name '$OPTLPENDING')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2065 2072] ) ) (SQ <'}" = "$1" ]'>) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(AMBIGUOUS)} spids: [2081] ) ] spids: [2081] ) ] ) ] spids: [16777215 2042] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2104] ) ] spids: [2104] ) ] spids: [2101 2110] ) ] spids: [2019 2026 2113 16777215] ) ] spids: [2009 2015 2116] ) (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: [2123 2130] ) (' ') ) (SQ <'"$@"'>) } ) ] spids: [1966 2138] ) ) (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: [2160 2164] ) ("' is ambiguous") ) } spids: [2155] ) ] spids: [2155] ) (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: [2193 2197] ) ) } spids: [2191] ) ] spids: [2191] ) ] spids: [2178 2180 2201 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [2210] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$6') ("='?'"))}) ] spids: [2204 2205 2230 16777215] ) ] spids: [2169 2175 2233] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(EmptyPart)} spids: [2236] ) ] spids: [2236] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [2151 2152 2244 16777215] ) (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: [2257 2264] ) ) (SQ <'}" "$@"'>) } ) ] spids: [2247 2248 2271 16777215] ) (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: [2284 2288] ) ("'") ) } spids: [2279] ) ] spids: [2279] ) (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: [2317 2321] ) ) } spids: [2315] ) ] spids: [2315] ) ] spids: [2302 2304 2325 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [2334] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$6') ("='?'"))}) ] spids: [2328 2329 2354 16777215] ) ] spids: [2293 2299 2357] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(EmptyPart)} spids: [2360] ) ] spids: [2360] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 2276 2368 16777215] ) (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: [2388 2395] ) ) (SQ <'}" "${'>) (DQ ($ VSub_Name '$OPTLPENDING')) (SQ <'}" "$@"'>) } ) ] spids: [2371 2372 2408 16777215] ) ] spids: [2142 2148 2411] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLPENDING) op: Equal rhs: {(EmptyPart)} spids: [2415] ) ] spids: [2415] ) (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: [2482 2486] ) ) } spids: [2480] ) ] spids: [2480] ) ] spids: [2452 2465 2490 16777215] ) (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: [2497] ) ] spids: [2497] ) (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: [2529] ) ] spids: [2529] ) ] spids: [2516 2518 2535 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [2544] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$7') ("='?'"))}) ] spids: [2538 2539 2564 16777215] ) ] spids: [2507 2513 2567] ) ] spids: [2493 2494 2570 16777215] ) ] spids: [2443 2449 2573] ) ] spids: [2437 2440 2576 16777215] ) (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: [2606 2613] ) ) } {(-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: [2628] ) ] spids: [2628] ) (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: [2660] ) ] spids: [2660] ) ] spids: [2647 2649 2666 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ($ VSub_Name '$OPTLERR'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [2675] ) ] ) (C {(eval)} {(DQ ($ VSub_Number '$7') ("='?'"))}) ] spids: [2669 2670 2695 16777215] ) ] spids: [2638 2644 2698] ) ] spids: [16777215 2625] ) ] 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: [2705 2712] ) } spids: [2704] ) ] spids: [2704] ) (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: [2722 2729] ) ('}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(eval)} { (DQ ($ VSub_Number '$7') ('=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (2) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ) ] spids: [2701 2747] ) ] spids: [2593 2598 2750 16777215] ) (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: [2753 2754 2777 16777215] ) ] spids: [2584 2590 2780] ) ] spids: [2580 2581 2783 16777215] ) ] spids: [2428 2434 2786] ) ] spids: [1898 2789] ) (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: [2824] ) (assign_pair lhs: (LhsName name:had) op: Equal rhs: {(EmptyPart)} spids: [2829] ) ] spids: [2824] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTLIND) op: Equal rhs: {(1)} spids: [2835] ) ] spids: [2835] ) (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: [2856] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2859] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2844 2862] ) ) } spids: [2842] ) ] spids: [2842] ) (Sentence child: (SimpleCommand words: [{(getopts_long)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2872] ) ] ) 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: [2897 2901] ) ('@') (BracedVarSub token: <VSub_Name OPTLIND> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(unset)} ) spids: [2903 2907] ) ('@') (BracedVarSub token: <VSub_Name OPTLERR> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(unset)} ) spids: [2909 2913] ) ('@') ($ VSub_Name '$err') ) } spids: [2891] ) ] spids: [2891] ) ] spids: [2877 2919] ) ) (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: [2926 2930] ) ('|') ($ VSub_Name '$err') ) } spids: [2922] ) ] spids: [2922] ) (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: [16777215 2954] ) ] else_action: [ (C {(echo)} {(FAIL)}) (C {(printf)} {(SQ <'Expected: %s\\n Got: %s\\n'>)} {(DQ ($ VSub_Name '$expected'))} {(DQ ($ VSub_Name '$had'))} ) ] spids: [2962 2985] ) ] spids: [2821] ) spids: [2817 2820] ) (While cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(read)} {(-r)} {(c)}] more_env: [(env_pair name:IFS val:{(EmptyPart)} spids:[2991])] ) (SimpleCommand words: [{(read)} {(-r)} {(e)}] more_env: [(env_pair name:IFS val:{(EmptyPart)} spids:[3001])] ) ] ) 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: [3010 3040] ) redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 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: T spids: [3042] ) ] ) ] spids: [16777215 2815] ) ] spids: [16777215 3047] ) ] )