(List (= scope= flags=0 words=[] bindings=[('USAGE', {[SQ ...] [ -- []... ]">]})]) (= scope= flags=0 words=[] bindings=[('DESCRIPTION', {[SQ ]})]) (FunctionDef usage [] (Com {[LIT_CHARS echo]} {[DQ [VarSub USAGE]]} {[DQ [VarSub DESCRIPTION]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) (FunctionDef die [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef cleanup [] (Com {[LIT_CHARS rm]} {[DQ [VarSub runcmd]]}) ) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS usage]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('runcmd', {[DQ [ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS /tmp/bazel-run.XXXXXX]})]]})]) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Could not create tmp file"]]}) ) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS cleanup]]} {[LIT_CHARS EXIT]}) (AndOr OP_OR_IF (Com {[LIT_CHARS bazel]} {[LIT_CHARS run]} {[LIT_CHARS --script_path] [LIT_OTHER "="] [DQ [VarSub runcmd]]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS exit]} {[VarSub ?]}) ) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -x]} {[DQ [VarSub runcmd]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "File "][VarSub runcmd][LIT_CHARS " not executable"]]}) ) (Com {[DQ [VarSub runcmd]]}) )