(command.CommandList children: [ (C {(KW_Set set)} {(-o)} {(nounset)}) (C {(KW_Set set)} {(-o)} {(pipefail)}) (C {(KW_Set set)} {(-o)} {(errexit)}) (C {(source)} {(build/common.sh)}) (command.ShFunction name: replace-print body: (command.BraceGroup children: [ (C {(grep)} {(SQ <'print '>)} (word.BracedTree parts: [(word_part.BracedTuple words:[{(osh)} {(core)}]) (/) (Lit_Star '*') (.py)] ) ) ] ) ) (command.ShFunction name: make-bin-links body: (command.BraceGroup children: [ (C {(mkdir)} {(-p)} {(bin)} {(_bin)}) (command.ForEach iter_name: link iter_words: [ { (DQ (braced_var_sub token: <VSub_Name OIL_SYMLINKS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(oil.py)} {(bin/) ($ VSub_DollarName '$link')}) ] ) ) (command.ForEach iter_name: link iter_words: [ { (DQ (braced_var_sub token: <VSub_Name OIL_SYMLINKS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(oil.ovm)} {(_bin/) ($ VSub_DollarName '$link')}) ] ) ) (command.ForEach iter_name: link iter_words: [ { (DQ (braced_var_sub token: <VSub_Name OPY_SYMLINKS> bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(opy_.py)} {(bin/) ($ VSub_DollarName '$link')}) (C {(ln)} {(-s)} {(-f)} {(--verbose)} {(opy.ovm)} {(_bin/) ($ VSub_DollarName '$link')}) ] ) ) ] ) ) (command.ShFunction name: grep-unicode body: (command.BraceGroup children: [ (command.Simple words: [ {(grep)} {(--color) (Lit_Equals '=') (SQ <auto>)} {(--perl)} {(-n)} {(SQ <'[^\\x00-\\x7F]'>)} {(DQ ($ VSub_At '$@'))} ] more_env: [(env_pair name:LC_ALL val:{(C)})] ) ] ) ) (C {(DQ ($ VSub_At '$@'))}) ] )