(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mfs_size) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [{<stat>} {<-f>} {(SQ <'%z'>)} {($ Id.VSub_Number '$2')}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) ] ) ) } spids: [100] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(${ Id.VSub_Name mfs_size)} {<Id.Lit_RBracket ']'>}) (C {<echo>} {(DQ <"Can't determine MFS image size">)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sec_info) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{<elfdump>} {<-c>} {($ Id.VSub_Number '$1')}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<grep>} {<-A>} {<5>} {<-E>} {(DQ <'sh_name: oldmfs'> <Id.Lit_Other '$'>)}) ] negated: F ) ] ) ) } spids: [147] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name sec_info))} {<Id.Lit_RBracket ']'>}) (C {<echo>} {(DQ <"Can't locate mfs section within kernel">)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sec_size) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name sec_info))}) (command.Simple words: [{<awk>} {(SQ <'/sh_size/ {print $2}'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) ] negated: F ) ] ) ) } spids: [207] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sec_start) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name sec_info))}) (command.Simple words: [{<awk>} {(SQ <'/sh_offset/ {print $2}'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) ] negated: F ) ] ) ) } spids: [232] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name sec_size)} {<-lt>} {(${ Id.VSub_Name mfs_size)} {<Id.Lit_RBracket ']'>} ) (C {<echo>} {(DQ <'MFS image too large'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_Number '$2')} {<Id.Lit_VarLike 'ibs='> <8192>} {<Id.Lit_VarLike 'of='> ($ Id.VSub_Number '$1')} {<Id.Lit_VarLike 'obs='> (${ Id.VSub_Name sec_start)} {<Id.Lit_VarLike 'oseek='> <1>} {<Id.Lit_VarLike 'conv='> <notrunc>} ] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (C {<echo>} {(DQ <'MFS image embedded into kernel'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) ] )