(command.CommandList children: [ (C {(set)} {(-e)}) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:BOOT) op:Equal rhs:{(/boot/boot)})] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ROOT) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(printroot)} {(-r)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-b)} {(DQ ($ VSub_DollarName '$ROOT'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(root)} {(device)} {($ VSub_DollarName '$ROOT')} {(not)} {(found)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (C {(echo)} {(-n)} { (DQ ('Install boot as ') ($ VSub_DollarName '$BOOT') (' on current root and patch into ') ($ VSub_DollarName '$ROOT') ('? (y/N) ') ) } ) (C {(read)} {(ans)}) (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_DollarName '$ans'))} {(Lit_Other '=')} {(y)} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(Aborting.)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.AndOr ops:[Op_DPipe] children:[(C {(make)} {(install)}) (C {(true)})]) (C {(echo)} {(Installing)} {(boot)} {(monitor)} {(into)} {($ VSub_DollarName '$BOOT') (.)}) (C {(cp)} {(boot)} {($ VSub_DollarName '$BOOT')}) (C {(echo)} {(Patching)} {(position)} {(of)} {($ VSub_DollarName '$BOOT')} {(into)} {($ VSub_DollarName '$ROOT') (.)} ) (C {(installboot)} {(-d)} {(DQ ($ VSub_DollarName '$ROOT'))} {(/usr/mdec/bootblock)} {($ VSub_DollarName '$BOOT')} ) (C {(sync)}) ] )