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