(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:mfs_size spids:[100]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [{(stat)} {(-f)} {(SQ <'%z'>)} {($ VSub_Number '$2')}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [101 115] ) } spids: [100] ) ] spids: [100] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name mfs_size)} {(Lit_Other ']')}) (C {(echo)} {(DQ ("Can't determine MFS image size"))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sec_info spids:[145]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{(elfdump)} {(-c)} {($ VSub_Number '$1')}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(grep)} {(-A)} {(5)} {(-E)} {(DQ ('sh_name: oldmfs') (Lit_Other '$'))}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [146 171] ) } spids: [145] ) ] spids: [145] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name sec_info))} {(Lit_Other ']')}) (C {(echo)} {(DQ ("Can't locate mfs section within kernel"))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sec_size spids:[203]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name sec_info))}) (command.SimpleCommand words: [{(awk)} {(SQ <'/sh_size/ {print $2}'>)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [204 224] ) } spids: [203] ) ] spids: [203] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sec_start spids:[226]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name sec_info))}) (command.SimpleCommand words: [{(awk)} {(SQ <'/sh_offset/ {print $2}'>)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [227 247] ) } spids: [226] ) ] spids: [226] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(${ VSub_Name sec_size)} {(-lt)} {(${ VSub_Name mfs_size)} {(Lit_Other ']')}) (C {(echo)} {(DQ ('MFS image too large'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') ($ VSub_Number '$2')} {(Lit_VarLike 'ibs=') (8192)} {(Lit_VarLike 'of=') ($ VSub_Number '$1')} {(Lit_VarLike 'obs=') (${ VSub_Name sec_start)} {(Lit_VarLike 'oseek=') (1)} {(Lit_VarLike 'conv=') (notrunc)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(echo)} {(DQ ('MFS image embedded into kernel'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) ] )