(CommandList children: [ (FuncDef name: print_version_string body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(grep)} {(GIT)} {(DQ ($ VSub_Number '$1'))}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[20])] ) ] action: [ (SimpleCommand words: [{(read)} {(ver)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Number '$1'))} spids: [31] ) ] ) (Pipeline children: [(C {(echo)} {($ VSub_Name '$ver')}) (C {(tr)} {(-d)} {(SQ <'\\012'>)})] negated: False ) (C {(date)} {(Lit_Other '+') (_) (Lit_Other '%') (Y_) (Lit_Other '%') (m_) (Lit_Other '%') (d)} ) ] spids: [-1 24] ) ] else_action: [(C {(cat)} {(DQ ($ VSub_Number '$1'))})] spids: [64 74] ) ] spids: [7] ) spids: [3 6] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(3)})] action: [ (SimpleCommand words: [ {(echo)} {(DQ ('Usage: gen_version_header.sh <version file> <template> <output file>'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[98])] ) (C {(exit)} {(1)}) ] spids: [-1 89] ) ] spids: [-1 106] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version_string) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(print_version_string)} {(DQ ($ VSub_Number '$1'))})] ) left_token: <Left_Backtick '`'> spids: [109 115] ) } spids: [108] ) ] spids: [108] ) (SimpleCommand words: [ {(sed)} {(DQ ('s/%%LIBPCAP_VERSION%%/') ($ VSub_Name '$version_string') (/))} {(DQ ($ VSub_Number '$2'))} ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(DQ ($ VSub_Number '$3'))} spids:[129])] ) ] )