(command.CommandList children: [ (command.ShFunction name_tok: <die> name: die body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'FATAL install error: '> ($ Id.VSub_At '@'))}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <main> name: main body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'_build/detected-config.sh'>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <die> more_env: [] words: [ {<die>} {(DQ <'Can\'t find _build/detected-config.h. Run \'./configure\''>)} ] redirects: [] do_fork: T ) ] spids: [65 74] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'exec_filename='> <oil.ovm>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'dest='> ($ Id.VSub_DollarName PREFIX) <'/bin/'> ($ Id.VSub_DollarName exec_filename) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Installing to '> ($ Id.VSub_DollarName dest))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <install> more_env: [] words: [ {<install>} {<'_bin/'> ($ Id.VSub_DollarName exec_filename)} {($ Id.VSub_DollarName dest)} ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <die> more_env: [] words: [{<die>} {(DQ <'Couldn\'t install oil binary'>)}] redirects: [] do_fork: T ) ] spids: [124 136] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {($ Id.VSub_DollarName PREFIX) <'/bin'>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [link] iterable: (for_iter.Words words:[{<osh>} {<oshc>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <ln> more_env: [] words: [ {<ln>} {<-s>} {<-f>} {($ Id.VSub_DollarName exec_filename)} {($ Id.VSub_DollarName link)} ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <die> more_env: [] words: [ {<die>} {(DQ <'Couldn\'t create '> ($ Id.VSub_DollarName link) <' symlink'>)} ] redirects: [] do_fork: T ) ] spids: [170 185] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <main> more_env: [] words: [{<main>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] )