(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] ) ] )