(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NETDOWN spids:[31]) op: Equal rhs: {(yes)} spids: [31] ) ] spids: [31] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH spids:[35]) op: Equal rhs: {(/sbin) (Lit_Other ':') (/usr/sbin) (Lit_Other ':') (/bin) (Lit_Other ':') (/usr/bin)} spids: [35] ) ] spids: [35] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-f)} {(/etc/default/halt)} {(Lit_Other ']')}) (C {(.)} {(/etc/default/halt)}) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.FuncDef name: do_stop body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$INIT_HALT'))} {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] action: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$HALT'))} arms: [ (case_arm pat_list: [{(Lit_Other '[') (Pp) (Lit_Other ']') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:INIT_HALT spids:[107]) op: Equal rhs: {(POWEROFF)} spids: [107] ) ] spids: [107] ) ] spids: [100 104 111 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (Hh) (Lit_Other ']') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:INIT_HALT spids:[121]) op: Equal rhs: {(HALT)} spids: [121] ) ] spids: [121] ) ] spids: [114 118 125 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:INIT_HALT spids:[132]) op: Equal rhs: {(POWEROFF)} spids: [132] ) ] spids: [132] ) ] spids: [128 129 136 16777215] ) ] spids: [91 97 139] ) ] spids: [16777215 88] ) ] spids: [16777215 142] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$INIT_HALT'))} {(Lit_Other '=')} {(DQ (POWEROFF))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-x)} {(/etc/init.d/ups-monitor)} {(Lit_Other ']')}) ] ) ] action: [(C {(/etc/init.d/ups-monitor)} {(poweroff)})] spids: [16777215 177] ) ] spids: [16777215 185] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hddown spids:[193]) op: Equal rhs: {(DQ (-h))} spids: [193] ) ] spids: [193] ) (command.If arms: [ (if_arm cond: [(C {(grep)} {(-qs)} {(SQ <'^md.*active'>)} {(/proc/mdstat)})] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hddown spids:[215]) op: Equal rhs: {(DQ )} spids: [215] ) ] spids: [215] ) ] spids: [16777215 212] ) ] spids: [16777215 220] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:poweroff spids:[228]) op: Equal rhs: {(DQ (-p))} spids: [228] ) ] spids: [228] ) (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$INIT_HALT'))} {(Lit_Other '=')} {(DQ (HALT))} {(Lit_Other ']')} ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:poweroff spids:[254]) op: Equal rhs: {(DQ )} spids: [254] ) ] spids: [254] ) ] spids: [16777215 251] ) ] spids: [16777215 259] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:netdown spids:[271]) op: Equal rhs: {(DQ (-i))} spids: [271] ) ] spids: [271] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$NETDOWN'))} {(Lit_Other '=')} {(DQ (no))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:netdown spids:[297]) op: Equal rhs: {(DQ )} spids: [297] ) ] spids: [297] ) ] spids: [16777215 294] ) ] spids: [16777215 302] ) (C {(log_action_msg)} {(DQ ('Will now halt'))}) (C {(halt)} {(-d)} {(-f)} {($ VSub_DollarName '$netdown')} {($ VSub_DollarName '$poweroff')} {($ VSub_DollarName '$hddown')} ) ] spids: [69] ) spids: [64 68] ) (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list:[{(start)} {(status)}] spids:[337 340 347 16777215]) (case_arm pat_list: [{(restart)} {(reload)} {(force-reload)}] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number '$1') ("' not supported"))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)}) ] spids: [350 355 375 16777215] ) (case_arm pat_list:[{(stop)}] action:[(C {(do_stop)})] spids:[378 379 385 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' start|stop'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)}) ] spids: [388 389 409 16777215] ) ] spids: [328 334 411] ) (C {(Lit_Other ':')}) ] )