(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/usr/sbin'>} {<-o>} {<Id.KW_Bang '!'>} {<-d>} {<'/usr/bin'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [73 93] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVBOOT='> name:SVBOOT) op: assign_op.Equal rhs: {<'/usr/sbin/svboot'>} spids: [107] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVCS='> name:SVCS) op: assign_op.Equal rhs: {<'/usr/bin/svcs'>} spids: [110] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVCS_NAME='> name:SVCS_NAME) op: assign_op.Equal rhs: {<'system/nws_sv'>} spids: [113] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ONLINE='> name:ONLINE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple words: [{($ Id.VSub_DollarName SVCS)} {<-D>} {($ Id.VSub_DollarName SVCS_NAME)}] redirects: [ (redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<grep>} {(DQ <'^online'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [131] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {($ Id.VSub_DollarName ONLINE)} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName SVCS_NAME) <' not online'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [153 163] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_x child: {($ Id.VSub_DollarName SVBOOT)} ) ) redirects: [] ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': cannot find '> ($ Id.VSub_DollarName SVBOOT))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [181 193] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ ($ Id.VSub_Number 2))}) redirects: [] ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt) op: assign_op.Equal rhs: {<usage>} spids: [227] ) ] redirects: [] ) ] spids: [212 224] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [233] ) ] redirects: [] ) ] redirects: [] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName opt))} arms: [ (case_arm pat_list: [{(SQ <start>)}] action: [(C {($ Id.VSub_DollarName SVBOOT)} {<-C>} {(DQ ($ Id.VSub_Number 2))} {<-r>})] spids: [247 250 264 -1] ) (case_arm pat_list: [{(SQ <stop>)}] action: [(C {($ Id.VSub_DollarName SVBOOT)} {<-C>} {(DQ ($ Id.VSub_Number 2))} {<-s>})] spids: [267 270 285 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number 0) <' { start | stop } cluster_resource'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [288 289 306 -1] ) ] redirects: [] ) ] )