(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<-ne>} {<3>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <'Usage: zip_manifest_creator.sh <regexp> <input zip> <output manifest>'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [56 71] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REGEX) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [88] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INPUT_ZIP) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$2'))} spids: [93] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTPUT_MANIFEST) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$3'))} spids: [98] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RUNFILES) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name RUNFILES> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {($ Id.VSub_Number '$0') <.runfiles>} ) ) } spids: [104] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ZIPPER) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$RUNFILES') </> <Id.Lit_Star '*'> </tools/zip/zipper/zipper>} spids: [116] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-x>} {($ Id.VSub_DollarName '$ZIPPER')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ZIPPER) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$RUNFILES') </third_party/ijar/zipper>} spids: [142] ) ] ) ] spids: [122 135] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-x>} {($ Id.VSub_DollarName '$ZIPPER')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <'zip_manifest_creator could not find zipper executable'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [148 161] ) ] ) (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$ZIPPER')} {<v>} {(DQ ($ Id.VSub_DollarName '$INPUT_ZIP'))}) (C {<cut>} {<-d>} {(SQ <' '>)} {<-f3>}) (C {<grep>} {<-v>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>) <Id.Lit_Other '$'>} ) (command.Simple words: [{<grep>} {<-x>} {(DQ ($ Id.VSub_DollarName '$REGEX'))}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$OUTPUT_MANIFEST'))} ) ] ) ] negated: F ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )