(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Usage: bootgen.sh *build dir*'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [4 19] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BUILD) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [36] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RELOCATOR) op: assign_op.Equal rhs: {<'bootmgr/relocator'>} spids: [43] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BOOTMGR) op: assign_op.Equal rhs: {(${ Id.VSub_Name BUILD)} spids: [50] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName '$RELOCATOR') <'/relocator.bin'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Error : Relocator Not found!'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [59 73] ) ] else_action: [(C {<echo>} {(DQ <'Relocator found...'>)})] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName '$BOOTMGR') <'/bootmgr.bin'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Error : Boot Manager Not found!'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [103 117] ) ] else_action: [(C {<echo>} {(DQ <'Boot Manager found...'>)})] ) (C {<echo>} {(DQ <'Generating bootloader...'>)}) (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/zero'>} {<Id.Lit_VarLike 'of='> <__tmp.bin>} {<Id.Lit_VarLike 'ibs='> <1>} {<Id.Lit_VarLike 'count='> <256>} {<Id.Lit_VarLike 'conv='> <notrunc>} ] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$RELOCATOR') <'/relocator.bin'>} {<Id.Lit_VarLike 'of='> <__tmp.bin>} {<Id.Lit_VarLike 'ibs='> <1>} {<Id.Lit_VarLike 'conv='> <notrunc>} ] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.Simple words: [{<cat>} {<__tmp.bin>} {($ Id.VSub_DollarName '$BOOTMGR') <'/bootmgr.bin'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$BOOTMGR') <'/bootloader.bin'>} ) ] do_fork: T ) (C {<rm>} {<-f>} {<__tmp.bin>}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$BOOTMGR') <'/bootmgr.bin'>}) ] )