(CommandList children: [ (Case to_match: {($ VSub_Hyphen "$-") (Lit_Other ":") ($ VSub_Name "$BASH_VERSION")} arms: [ (case_arm pat_list: [ {(Lit_Other "*") (x) (Lit_Other "*") (Lit_Other ":") (Lit_Other "[") (0123456789) (Lit_Other "]") (Lit_Other "*") } ] action: [ (Sentence child: (C {(Lit_Other ":")} {(bash)} {(set)} {(-x)} {(is)} {(broken)} {(Lit_Other ":")}) terminator: <Op_Semi ";"> ) (C {(set)} {(Lit_Other "+") (ex)}) ] spids: [75 83 105 -1] ) ] spids: [67 73 107] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:command) op:Equal rhs:{(mamprobe)} spids:[110])] spids: [110] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:opt) op:Equal rhs:{(SQ )} spids:[118])] spids: [118] ) (Case to_match: { (CommandSubPart command_list: (CommandList children: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(getopts)} {(SQ <"[-][123:xyz]">)} {(opt)} {(--xyz)}) terminator: <Op_Semi ";"> ) (C {(echo)} {(0) ($ VSub_Name "$opt")}) ] ) redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[142])] spids: [124 140] ) ] ) left_token: <Left_Backtick "`"> spids: [123 144] ) } arms: [ (case_arm pat_list: [{(0123)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: { (SQ <"\n"> <"[-?\n"> <"@(#)$Id: mamprobe (AT&T Labs Research) 2011-02-11 $\n"> <"]\n"> <"[+NAME?mamprobe - generate MAM cc probe info]\n"> <"[+DESCRIPTION?"> <Lit_EscapedChar "\\b"> <mamprobe> <Lit_EscapedChar "\\b"> <" generates MAM (make abstract machine) "> <Lit_EscapedChar "\\b"> <cc> <Lit_EscapedChar "\\b"> <"(1)\n"> <"\tprobe information for use by "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <"(1). "> <Lit_EscapedChar "\\a"> <cc-path> <Lit_EscapedChar "\\a"> <" is the\n"> <"\tabsolute path of the probed compiler and "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" is where\n"> <"\tthe information is placed. "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" is usually\n"> <"\t"> <Lit_EscapedChar "\\b"> <"$INSTALLROOT/lib/probe/C/mam/"> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <hash> <Lit_EscapedChar "\\a"> <", where "> <Lit_EscapedChar "\\a"> <hash> <Lit_EscapedChar "\\a"> <" is a hash\n"> <"\tof "> <Lit_EscapedChar "\\a"> <cc-path> <Lit_EscapedChar "\\a"> <". Any "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" directories are created if needed.\n"> <"\tIf "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" is "> <Lit_EscapedChar "\\b"> <-> <Lit_EscapedChar "\\b"> <" then the probe information is written to\n"> <"\tthe standard output.]\n"> <"[+?"> <Lit_EscapedChar "\\b"> <mamprobe> <Lit_EscapedChar "\\b"> <" and "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <" are used in the bootstrap phase of\n"> <"\t"> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> <"(1) installation before "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) is built. The\n"> <"\tprobed variable names are the "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) names with a "> <Lit_EscapedChar "\\b"> <mam_> <Lit_EscapedChar "\\b"> <"\n"> <"\tprefix, "> <Lit_EscapedChar "\\b"> <CC> <Lit_EscapedChar "\\b"> <" converted to "> <Lit_EscapedChar "\\b"> <cc> <Lit_EscapedChar "\\b"> <", and "> <Lit_EscapedChar "\\b"> <.> <Lit_EscapedChar "\\b"> <" converted to "> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <".\n"> <"\tAdditional variables are:]{\n"> <"\t\t[+_hosttype_?the "> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> <"(1) host type]\n"> <"\t\t[+mam_cc_L?"> <Lit_EscapedChar "\\b"> <-L> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> <" supported]\n"> <"\t\t[+STDCAT?command to execute for "> <Lit_EscapedChar "\\b"> <cat> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDCHMOD?command to execute for "> <Lit_EscapedChar "\\b"> <chmod> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDCMP?command to execute for "> <Lit_EscapedChar "\\b"> <cmp> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDCP?command to execute for "> <Lit_EscapedChar "\\b"> <cp> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDED?command to execute for "> <Lit_EscapedChar "\\b"> <ed> <Lit_EscapedChar "\\b"> <"(1) or "> <Lit_EscapedChar "\\b"> <ex> <Lit_EscapedChar "\\b"> <"(1)]\n"> <"\t\t[+STDEDFLAGS?flags for "> <Lit_EscapedChar "\\b"> <STDED> <Lit_EscapedChar "\\b"> <"]\n"> <"\t\t[+STDLN?command to execute for "> <Lit_EscapedChar "\\b"> <ln> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDMV?command to execute for "> <Lit_EscapedChar "\\b"> <mv> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDRM?command to execute for "> <Lit_EscapedChar "\\b"> <rm> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"}\n"> <"[d:debug?Enable probe script debug trace.]\n"> <"\n"> <"info-file cc-path\n"> <"\n"> <"[+SEE ALSO?"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1),\n"> <"\t"> <Lit_EscapedChar "\\b"> <probe> <Lit_EscapedChar "\\b"> <"(1)]\n"> ) } spids: [151] ) ] spids: [151] ) (While cond: [ (C {(getopts)} {(-a)} {(DQ ($ VSub_Name "$command"))} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)} ) ] body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$OPT")} arms: [ (case_arm pat_list: [{(d)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: {(-d)} spids: [446] ) ] spids: [446] ) ] spids: [443 444 449 -1] ) ] spids: [436 440 452] ) ] spids: [434 455] ) ) (C {(shift)} { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name "$OPTIND")} {(-)} {(1)})] ) left_token: <Left_Backtick "`"> spids: [460 468] ) } ) ] spids: [148 149 471 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [490 491 495 -1] ) ] spids: [483 487 498] ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(--)}] action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)] spids: [508 509 517 -1] ) (case_arm pat_list: [{(-)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [520 521 526 -1] ) (case_arm pat_list: [{(-d)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: {(-d)} spids: [532] ) ] spids: [532] ) ] spids: [529 530 536 -1] ) (case_arm pat_list: [{(-) (Lit_Other "*")}] action: [ (SimpleCommand words: [ {(echo)} {($ VSub_Name "$command") (Lit_Other ":")} {($ VSub_Number "$1") (Lit_Other ":")} {(unknown)} {(option)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [555] ) ] ) ] spids: [539 541 559 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [562 563 568 -1] ) ] spids: [501 505 571] ) (C {(set)} {(SQ )}) (ControlFlow token:<ControlFlow_Break break>) ] spids: [481 583] ) ) ] spids: [473 474 586 -1] ) ] spids: [121 146 588] ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list:[{(-)}] spids:[601602604-1]) (case_arm pat_list:[{(/) (Lit_Other "*")}] spids:[606608610-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(set)} {(SQ )})] spids: [612 613 620 -1] ) ] spids: [595 599 622] ) (Case to_match: {($ VSub_Number "$2")} arms: [ (case_arm pat_list:[{(/) (Lit_Other "*")}] spids:[630632634-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(set)} {(SQ )})] spids: [636 637 644 -1] ) ] spids: [624 628 646] ) (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [ (Sentence child: (SimpleCommand words: [{(echo)} {(DQ ("Usage: ") ($ VSub_Name "$command") (" info-file cc-path"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[667])] ) terminator: <Op_Semi ";"> ) (C {(exit)} {(2)}) ] spids: [654 657 675 -1] ) ] spids: [648 652 677] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:info) op:Equal rhs:{($ VSub_Number "$1")} spids:[679])] spids: [679] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cc) op:Equal rhs:{($ VSub_Star "$*")} spids:[684])] spids: [684] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifs) op: Equal rhs: { (BracedVarSub token: <VSub_Name IFS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <"\n"> <"\t ">)}) spids: [693 700] ) } spids: [692] ) ] spids: [692] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(Lit_Other ":")} spids:[702])] spids: [702] ) (C {(set)} {($ VSub_Name "$PATH")}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{($ VSub_Name "$ifs")} spids:[709])] spids: [709] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:script) op: Equal rhs: {(lib/probe/C/make/probe)} spids: [712] ) ] spids: [712] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)}] action: [ (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Number "$0") (": ../") ($ VSub_Name "$script") (": probe script not found on PATH") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[740])] ) (C {(exit)} {(1)}) ] spids: [728 729 749 -1] ) ] spids: [721 725 752] ) (Case to_match: {($ VSub_Number "$1")} arms: [ (case_arm pat_list: [{(SQ )}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [-1 764 768 -1] ) ] spids: [755 759 771] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makeprobe) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number "$1")}) (C {(sed)} {(SQ <"s,[^/]*$,">) ($ VSub_Name "$script") (Lit_Comma ",")} ) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [775 789] ) } spids: [774] ) ] spids: [774] ) (If arms: [ (if_arm cond: [(C {(test)} {(-x)} {($ VSub_Name "$makeprobe")})] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [-1 801] ) ] spids: [-1 806] ) (C {(shift)}) ] spids: [719 811] ) ) (Case to_match: {($ VSub_Name "$info")} arms: [ (case_arm pat_list: [{(/) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(X) ($ VSub_Name "$info")} spids: [828] ) ] spids: [828] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifs) op: Equal rhs: { (BracedVarSub token: <VSub_Name IFS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <"\n"> <"\t ">)}) spids: [834 841] ) } spids: [833] ) ] spids: [833] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(/)} spids:[844])] spids: [844] ) (C {(set)} {($ VSub_Name "$i")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name "$ifs")} spids: [853] ) ] spids: [853] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Number "$1")} spids: [864] ) ] spids: [864] ) (C {(shift)}) (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(X)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [878 879 883 -1] ) ] spids: [871 875 886] ) ] spids: [862 889] ) ) (Case to_match: {($ VSub_Name "$info")} arms: [ (case_arm pat_list: [{(//) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:path) op:Equal rhs:{(/)} spids:[903])] spids: [903] ) ] spids: [899 901 906 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:path) op:Equal rhs:{(SQ )} spids:[912])] spids: [912] ) ] spids: [909 910 914 -1] ) ] spids: [892 896 917] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [934 937 941 -1] ) ] spids: [927 931 944] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comp) op: Equal rhs: {($ VSub_Number "$1")} spids: [947] ) ] spids: [947] ) (C {(shift)}) (Case to_match: {($ VSub_Name "$comp")} arms: [ (case_arm pat_list: [{(SQ )}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [-1 963 967 -1] ) ] spids: [954 958 970] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {($ VSub_Name "$path") (/) ($ VSub_Name "$comp")} spids: [973] ) ] spids: [973] ) (If arms: [ (if_arm cond: [(C {(test)} {(KW_Bang "!")} {(-d)} {($ VSub_Name "$path")})] action: [ (AndOr children: [(C {(mkdir)} {($ VSub_Name "$path")}) (C {(exit)})] op_id: Op_DPipe ) ] spids: [-1 990] ) ] spids: [-1 1001] ) ] spids: [925 1004] ) ) ] spids: [824 826 1007 -1] ) ] spids: [818 822 1009] ) (Case to_match: {($ VSub_Name "$info")} arms: [ (case_arm pat_list:[{(-)}] spids:[102210231025-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: Equal rhs: {(/tmp/mam) ($ VSub_Dollar "$$")} spids: [1030] ) ] spids: [1030] ) (C {(trap)} {(DQ ("exec >/dev/null; rm -f ") ($ VSub_Name "$tmp"))} {(0)} {(1)} {(2)} {(3)} {(15)} ) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$tmp")} spids: [1055] ) ] ) (SimpleCommand words: [ {(echo)} {(DQ ("probing C language processor ") ($ VSub_Name "$cc") (" for mam information"))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1068])] ) ] spids: [1027 1028 1072 -1] ) ] spids: [1016 1020 1074] ) (C {(echo)} {(DQ ("note generated by ") ($ VSub_Number "$0") (" for ") ($ VSub_Name "$cc"))}) (Pipeline children: [ (Subshell child: (CommandList children: [ (C {(set)} {(SQ )} {($ VSub_Name "$opt")} {($ VSub_Name "$cc")}) (C {(shift)}) (C {(.)} {($ VSub_Name "$makeprobe")} {(DQ ($ VSub_At "$@"))}) (Case to_match: {(DQ (" ") ($ VSub_Name "$CC_DIALECT") (" "))} arms: [ (case_arm pat_list: [{(Lit_Other "*") (DQ (" -L ")) (Lit_Other "*")}] action: [(C {(echo)} {(DQ ("CC.L = 1"))})] spids: [1124 1129 1137 -1] ) ] spids: [1113 1121 1140] ) ] ) spids: [1087 1143] ) (C {(sed)} {(-e)} {(SQ <"/^CC\\./!d">)} {(-e)} {(SQ <"s/^CC./setv mam_cc_/">)} {(-e)} {(SQ <"s/^\\([^=.]*\\)\\./\\1_/">)} {(-e)} {(SQ <"s/^\\([^=.]*\\)\\./\\1_/">)} {(-e)} {(SQ <"s/ =//">)} {(-e)} {(SQ <"s/\\$(\"\\([^\"]*\\)\")/\\1/g">)} {(-e)} {(SQ <"s/\\$(\\([^)]*\\))/${\\1}/g">)} {(-e)} {(SQ <"s/\\${CC\\./${mam_cc_}/g">)} ) ] negated: False ) (C {(echo)} {(SQ <"setv _hosttype_ ${mam_cc_HOSTTYPE}">)}) (If arms: [ (if_arm cond: [ (Subshell child: (SimpleCommand words: [{(ed)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ("q\n"))} do_expansion: True here_end: "!" was_filled: True spids: [1231] ) ] ) redirects: [ (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[1237]) (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1241]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1245]) ] spids: [1227 1235] ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:STDED) op:Equal rhs:{(ed)} spids:[1250])] spids: [1250] ) ] spids: [-1 1248] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:STDED) op:Equal rhs:{(ex)} spids:[1255])] spids: [1255] ) ] spids: [1253 1258] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:STDEDFLAGS) op:Equal rhs:{(-)} spids:[1260])] spids: [1260] ) (C {(set)} {(STDCAT)} {(cat)} {(STDCHMOD)} {(chmod)} {(STDCMP)} {(cmp)} {(STDCP)} {(cp)} {(STDLN)} {(ln)} {(STDMV)} {(mv)} {(STDRM)} {(rm)} ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Case to_match: {($ VSub_Pound "$#")} arms: [ (case_arm pat_list: [{(0)} {(1)}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [1306 1309 1313 -1] ) ] spids: [1299 1303 1316] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {($ VSub_Number "$2")} spids: [1319] ) ] spids: [1319] ) (ForEach iter_name: d iter_words: [{(/bin)} {(/usr/bin)} {(/usr/sbin)}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-x)} {($ VSub_Name "$d") (/) ($ VSub_Name "$p")})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:p) op: Equal rhs: {($ VSub_Name "$d") (/) ($ VSub_Name "$p")} spids: [1351] ) ] spids: [1351] ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [-1 1349] ) ] spids: [-1 1360] ) ] spids: [1336 1363] ) spids: [1328 -1] ) (C {(eval)} {($ VSub_Number "$1") (Lit_Other "=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (p) } ) (C {(shift)}) (C {(shift)}) ] spids: [1297 1379] ) ) (If arms: [ (if_arm cond: [(C {(execrate)})] action: [ (ForEach iter_name: n iter_words: [{(STDCAT)} {(STDCHMOD)} {(STDCMP)} {(STDCP)} {(STDLN)} {(STDMV)} {(STDRM)}] do_arg_iter: False body: (DoGroup children: [ (C {(eval)} {($ VSub_Name "$n") (Lit_Other "=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (execrate) } {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$n") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) } ) ] spids: [1408 1422] ) spids: [1392 -1] ) ] spids: [-1 1385] ) ] spids: [-1 1424] ) (ForEach iter_name: n iter_words: [ {(STDCAT)} {(STDCHMOD)} {(STDCMP)} {(STDCP)} {(STDED)} {(STDEDFLAGS)} {(STDLN)} {(STDMV)} {(STDRM)} ] do_arg_iter: False body: (DoGroup children: [ (C {(eval)} {(echo)} {(setv)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (n)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$n")} ) ] spids: [1450 1464] ) spids: [1431 -1] ) (Case to_match: {($ VSub_Name "$info")} arms: [ (case_arm pat_list:[{(-)}] spids:[147714781480-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1487])] ) (AndOr children: [ (C {(test)} {(-f)} {($ VSub_Name "$info")}) (C {(rm)} {(-f)} {($ VSub_Name "$info")}) ] op_id: Op_DAmp ) (C {(cp)} {($ VSub_Name "$tmp")} {($ VSub_Name "$info")}) (C {(chmod)} {(-w)} {($ VSub_Name "$info")}) ] spids: [1482 1483 1520 -1] ) ] spids: [1471 1475 1522] ) ] )