(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(build/common.sh)}) (FuncDef name: replace-print body: (BraceGroup children: [ (C {(grep)} {(SQ <'print '>)} (BracedWordTree parts: [(BracedAltPart words:[{(osh)} {(core)}]) (/) (Lit_Other '*') (.py)] ) ) ] spids: [53] ) spids: [49 52] ) (FuncDef name: make-bin-links body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(bin)} {(_bin)}) (ForEach iter_name: link iter_words: [ { (DQ (BracedVarSub token: <VSub_Name OIL_SYMLINKS> bracket_op: (WholeArray op_id:Lit_At) spids: [114 119] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(oil.py)} {(bin/) ($ VSub_Name '$link')}) ] spids: [123 140] ) spids: [112 121] ) (ForEach iter_name: link iter_words: [ { (DQ (BracedVarSub token: <VSub_Name OIL_SYMLINKS> bracket_op: (WholeArray op_id:Lit_At) spids: [151 156] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(oil.ovm)} {(_bin/) ($ VSub_Name '$link')}) ] spids: [160 177] ) spids: [149 158] ) (ForEach iter_name: link iter_words: [ { (DQ (BracedVarSub token: <VSub_Name OPY_SYMLINKS> bracket_op: (WholeArray op_id:Lit_At) spids: [188 193] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(opy_.py)} {(bin/) ($ VSub_Name '$link')}) (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(opy.ovm)} {(_bin/) ($ VSub_Name '$link')}) ] spids: [197 228] ) spids: [186 195] ) ] spids: [86] ) spids: [82 85] ) (FuncDef name: grep-unicode body: (BraceGroup children: [ (SimpleCommand words: [ {(grep)} {(--color) (Lit_Other '=') (SQ <auto>)} {(--perl)} {(-n)} {(SQ <'[^\\x00-\\x7F]'>)} {(DQ ($ VSub_At '$@'))} ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[250])] ) ] spids: [247] ) spids: [243 246] ) (C {(DQ ($ VSub_At '$@'))}) ] )