(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tmp) op:Equal rhs:{($ VSub_Number '$1')} spids:[4])] spids: [4] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: { (BracedVarSub token: <VSub_Name tmp> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(VERSION)}) spids: [8 12] ) } spids: [7] ) ] spids: [7] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gitver) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(git)} {(describe)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [20] ) ] ) (C {(tr)} {(-)} {(.)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [15 30] ) } spids: [14] ) ] spids: [14] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filever) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(cat)} {(${ VSub_Name file)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[40])] ) ] ) left_token: <Left_CommandSub '$('> spids: [33 42] ) } spids: [32] ) ] spids: [32] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: {(${ VSub_Name gitver)} spids: [45] ) ] spids: [45] ) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name version> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{($ VSub_Name '$filever')}) spids: [52 56] ) } ) (C {(echo)} {(DQ ($ VSub_Name '$version'))}) ] )