(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 '`'> child: (command.Simple words: [{<stat>} {<-f>} {(SQ <'%z'>)} {($ Id.VSub_Number '$2')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) } 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 '`'> child: (command.Pipeline children: [ (command.Simple words: [{<elfdump>} {<-c>} {($ Id.VSub_Number '$1')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<grep>} {<-A>} {<5>} {<-E>} {(DQ <'sh_name: oldmfs'> <Id.Lit_Dollar '$'>)}) ] 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 '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name sec_info))}) (command.Simple words: [{<awk>} {(SQ <'/sh_size/ {print $2}'>)}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] 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 '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name sec_info))}) (command.Simple words: [{<awk>} {(SQ <'/sh_offset/ {print $2}'>)}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] 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 op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (C {<echo>} {(DQ <'MFS image embedded into kernel'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) ] )