(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (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: [ (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: [ (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.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>}) (redir.Redir op:<Id.Redir_GreatAnd '2>&'> fd:2 arg_word:{<1>}) ] ) (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.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>}) (redir.Redir op:<Id.Redir_GreatAnd '2>&'> fd:2 arg_word:{<1>}) ] ) (command.Simple words: [{<cat>} {<__tmp.bin>} {($ Id.VSub_DollarName '$BOOTMGR') </bootmgr.bin>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$BOOTMGR') </bootloader.bin>} ) ] ) (C {<rm>} {<-f>} {<__tmp.bin>}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$BOOTMGR') </bootmgr.bin>}) ] )