(command.CommandList children: [ (C {(Id.KW_Set set)} {(-e)}) (C {(Id.KW_Set set)} {(-x)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VERSION) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:21) command_list: (command.CommandList children:[(C {(git)} {(describe)} {(--always)})]) ) (-linux-x86) } spids: [20] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEST) op: assign_op.Equal rhs: {(dist/) ($ Id.VSub_DollarName '$VERSION')} spids: [32] ) ] ) (C {(rm)} {(-rf)} {($ Id.VSub_DollarName '$DEST')}) (C {(mkdir)} {(-p)} {($ Id.VSub_DollarName '$DEST')}) (command.Pipeline children: [ (C {(git)} {(archive)} {(HEAD)}) (C {(tar)} {(x)} {(-C)} {($ Id.VSub_DollarName '$DEST')}) ] negated: F ) (C {(make)} {(-BC)} {($ Id.VSub_DollarName '$DEST') (/generator/proto)}) (C {(cp)} {($ Id.VSub_DollarName '$DEST') (/generator/nanopb_generator.py)} {($ Id.VSub_DollarName '$DEST') (/generator/protoc-gen-nanopb.py)} ) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {($ Id.VSub_DollarName '$DEST') (/generator)}) terminator: (Token id:Id.Op_Semi val:';' span_id:102) ) (C {(bbfreeze)} {(nanopb_generator.py)} {(protoc-gen-nanopb.py)}) ] ) ) (C {(mv)} {($ Id.VSub_DollarName '$DEST') (/generator/dist)} {($ Id.VSub_DollarName '$DEST') (/generator-bin)} ) (C {(rm)} {($ Id.VSub_DollarName '$DEST') (/generator/protoc-gen-nanopb.py)}) (C {(cp)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:135) command_list: (command.CommandList children:[(C {(which)} {(protoc)})]) ) } {($ Id.VSub_DollarName '$DEST') (/generator-bin/protoc.bin)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPROTOC) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:147) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(ldd)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:150) command_list: (command.CommandList children: [(C {(which)} {(protoc)})] ) ) } ) (C {(grep)} {(-o)} {(SQ (Token id:Id.Lit_Chars val:'/.*libprotoc[^ ]*' span_id:165))} ) ] negated: F ) ] ) ) } spids: [146] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBPROTOBUF) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:170) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(ldd)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:173) command_list: (command.CommandList children: [(C {(which)} {(protoc)})] ) ) } ) (C {(grep)} {(-o)} {(SQ (Token id:Id.Lit_Chars val:'/.*libprotobuf[^ ]*' span_id:188))} ) ] negated: F ) ] ) ) } spids: [169] ) ] ) (C {(cp)} {($ Id.VSub_DollarName '$LIBPROTOC')} {($ Id.VSub_DollarName '$LIBPROTOBUF')} {($ Id.VSub_DollarName '$DEST') (/generator-bin/)} ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:203) fd: -1 arg_word: {($ Id.VSub_DollarName '$DEST') (/generator-bin/protoc)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:208) fd: -1 here_begin: {(EOF)} here_end_span_id: 241 stdin_parts: [ ('#!/bin/bash\n') ('SCRIPTDIR=') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:214) ) ('(dirname ') (Id.Right_DoubleQuote '"') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:217) ) (0) (Id.Right_DoubleQuote '"') (')\n') ('export LD_LIBRARY_PATH=') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:222) ) ('SCRIPTDIR\n') ('export PATH=') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:225) ) ('SCRIPTDIR:') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:227) ) ('PATH\n') ('exec ') (Id.Right_DoubleQuote '"') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:231) ) (SCRIPTDIR/protoc.bin) (Id.Right_DoubleQuote '"') (' ') (Id.Right_DoubleQuote '"') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:236) ) ('@') (Id.Right_DoubleQuote '"') ('\n') ] ) ] ) (C {(chmod)} {(Id.Lit_Other '+') (x)} {($ Id.VSub_DollarName '$DEST') (/generator-bin/protoc)}) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {(dist)}) terminator: (Token id:Id.Op_Semi val:';' span_id:259) ) (C {(tar)} {(-czf)} {($ Id.VSub_DollarName '$VERSION') (.tar.gz)} {($ Id.VSub_DollarName '$VERSION')} ) ] ) ) ] )